您的位置:首页 > 运维架构 > Linux

linux下安装mysql【实践版】

2015-04-03 09:32 155 查看
【环境及文件版本】
red hat
linux v6.2
mysql linux

x86-x64 v5.6
【准备需要的文件】
首先去官网下载mysql的linux版本,可以针对安装的操作系统选择合适的版本。
然后将文件解压到一个目录,例如 /usr/local/中,并重命名为mysql。确保最终所有的文件在/usr/local/mysql/这个目录中,使用命令行时,也需要定位到此目录,后续的操作都是在这个目录中完成的。

【初始化数据库文件】
然后拷贝support-files/my-default.cnf
到 当前目录,并命名为my.cnf,并修改其中内容如下:
[mysqld]
skip-name-resolve
#跳过表扫描,可以加快mysql的执行树的
lower_case_table_names=1
#表名全部使用小写
datadir=/usr/local/mysql/data/
#设定数据文件存放位置
socket=/usr/local/mysql/mysql.sock

user=mysql
character-set-server=utf8
#设定server的字符集,防止中文乱码
# Disabling symbolic-links isrecommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/usr/local/mysql/log/mysqld.log
#注意,这里要手动创建一下log目录
pid-file=/usr/local/mysql/mysqld.pid

然后执行数据库初始化脚本文件:
./scripts/mysql_install_db
--defaults-file=my.cnf #后面的参数表示使用上一步定义的my.cnf来初始化数据库。

等待若干秒后,可以查看 data
目录查增加了 mysql
目录以及其他文件。此时mysql自身已经初始化完成了,不过现在mysql还不是服务的形式,不能使用service xxx
start 的方式启动。但可以使用./bin/mysqld_safe &
的方式启动
注:手动启动mysql
的命令:./bin/mysqld_safe &
#至于为什么使用mysqld_safe,自己可以查下原因。

手动停止mysql的命令:./bin/mysqladmin
–h127.0.0.1 shutdown #注意,尽量不要使用localhost,因为有时由于系统的原因,使用localhost会提示无法连接mysql。

手动停止mysql的第二种命令:pkill
mysql #杀死所有名称中包含mysql的进程,干净利落 :-D
其他linux下mysql实用命令我后边会附带些。
【注册mysql为系统服务】
如果希望mysql以服务的方式启动,或者设置mysql开机启动,还需要如下步骤。
将support-files
中的mysql.server
拷贝到 /etc/rc.d/init.d/
下,并重名为mysql (如果你不嫌mysql.server这个名字比较长的话,可以不重命名:-D
,文件名就是服务的名字)。
这是就可以使用service mysql start
来启动mysql了(如果在上一步中你不小心手动启动了mysql,这一步会提示mysql已经启动)。
当然,相应的其他命令还有 service
mysql stop/restart/status 等
【设置mysql
开机启动】
此时mysql已经注册为服务了,如需开机启动,再需要两步操作。
首先将mysql加入开机启动列表:
chkconfig --add mysql
然后设置它开机启动:
chkconfig mysql
on
这样mysql就会开机启动了。
如果需要关闭开机启动,可以:
chkconfig mysql
off
查看mysql是否开机启动:
chkconfig --list
mysql
查看mysql侦听是否在侦听端口(默认为3306):
netstat -lt | grep
mysql
【mysql用户名、远程登录设置】
上面时如何安装及启动mysql,mysql在初次安装后,还需要设置用户名、密码、及远程登录等。
mysql默认情况下,只有root用户,且密码为空,不允许本机以为其他机器登录。如需设置给root设置一个密码,且允许其远程登录,需要这样操作。

首先在mysql安装的机器登录mysql:
mysql -uroot
-h127.0.0.1
然后执行如下命令:
grant
all privilegeson *.* to root@’%’
identified by ‘12345678’;
如果不需要设置密码,后面的identified
by ‘12345678’ 可以省略。
这样,就可以在使用navicat等工具远程连接mysql,进一步执行其他操作了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: