最近遇到Linux中安装mysql的很多坑,现在想把它写下来以便减少大家走弯路。
步骤一:(root操作)
解压mysql5.6-linux-x64.tar.gz文件,并将其解压文件放在/usr/java/mysql/中
命令:tar -zxvf mysql5.6-linux-x64.tar.gz
步骤二:(root操作)
重命名解压文件,将名字改为mysql5.6
命令:mv mysql5.6-linux-x64.tar.gz mysql5.6
步骤三:(root操作)
创建mysql分组和mysql用户,注意这个mysql用户用于管理mysql的操作,root不能直接去管理mysql的相关操作!
命令:
groupadd mysql //创建mysql组
useradd -g mysql mysql //创建mysql用户并置于mysql组中
passwd mysql //设置mysql用户密码
chown -R mysql:mysql /usr/java/mysql/ //给用户组授权
步骤四:(root操作)
进入/usr/java/mysql/mysql5.6/目录,也就是mysql5.6的根目录,然后新建或修改my.cnf配置文件。
命令:vim my.cnf (若文件没有,就自己新建)
在my.cnf中添加以下内容:
[client]
default-character-set=utf8
socket=/usr/java/mysql/mysql5.6/tmp/mysql.sock
[mysql]
default-character-set=utf8
[mysqld]
socket=/usr/java/mysql/mysql5.6/tmp/mysql.sock
tmpdir=/usr/java/mysql/mysql5.6/tmp/
basedir=/usr/java/mysql/mysql5.6
datadir=/usr/java/mysql/mysql5.6/data
symbolic-links=0
character_set_server=utf8
[mysqld_safe]
default-character-set=utf8
log-error=/usr/java/mysql/mysql5.6/logs/mysqld.log
pid-file=/usr/java/mysql/mysql5.6/run/mysqld/mysqld.pid
注意:路径根据自己的位置来配置!
保存退出并授权
保存退出 :wq
授权: chmod 644 my.cnf
步骤五:(root操作)
进入/usr/java/mysql/mysql5.6/目录,若没有tmp、logs、run/mysqld等目录,则自行添加。
命令:
mkdir tmp
mkdir logs
mkdir -p run/mysqld
另外,注意要建立和my.cnf中配置的空文件,即
mysql.sock、mysqld.log、mysqld.pid
步骤六:(root操作)
再次授权,第一个mysql是用户名,第二个mysql组名
chown -R mysql:mysql /usr/java/mysql/ //给用户组授权
步骤七:(root操作)
在/usr/java/mysql/mysql5.6/目录下,初始化配置文件
scripts/mysql_install_db --user=mysql --defaults-file=/usr/java/mysql/mysql5.6/my.cnf --basedir=/usr/java/mysql/mysql5.6 --datadir=/usr/java/mysql/mysql5.6/data/
注意:--user=mysql中的mysql表示的是用户名
步骤八:(mysql操作)
切换为mysql用户,再进行操作。
su mysql
输入密码后进入mysql用户身份。
步骤九:(mysql操作)
在/usr/java/mysql/mysql5.6/目录(mysql根目录)下,输入如下命令
bin/mysqld_safe &
若长时间不动卡主,则ctrl+c终止,再
bin/mysqld_safe
若卡住不动,且ctrl+c无法退出,则关闭ssh连接,进行ssh重连。
重连后不需要再次操作以上命令。
步骤十:(mysql操作)
查看是否启动成功,执行:
ps -ef|grep mysql
查看结果如下图显示,则启动成功
步骤十一:(root操作)
切回root用户
su root
在/usr/java/mysql/mysql5.6/目录下,登入mysql数据库的root账户。
bin/mysql -h127.0.0.1 -uroot
注意:若出现
Access denied for user 'root'@'localhost' (using password: NO)
则运行命令:
bin/mysql -h127.0.0.1 -uroot -p
然后输入密码:123456(root用户的初始密码)
就可以进入mysql了。
步骤十二:(root操作)
进入mysql进行mysql指令的相关操作。
show databases; //查询所有库
(建议删除test库,自己建一个test库代替)
use mysql; //使用mysql库
select * from user; //查询user表,此表是管理mysql用户的表
执行sql添加mysql管理用户:
insert into user(host,user,password) values('xx.xx.xx.xx','username',password('password'));
给mysql用户远程连接的权限:
grant all privileges on *.* to “mysql”@"%" identified by"123456" with grant option;
其中,mysql是用户名user, 123456是对应的密码
刷新:
flush privileges;
步骤十三:(root操作)
cp /usr/java/mysql/mysql5.6/support-files/mysql.server /etc/init.d/mysqld
然后
vim /etc/init.d/mysqld
修改文件内容,将
basedir=
Datadir=
mysqld_pid_file_path=
补齐对应的路径便可
步骤十四:(root操作)
其他操作,设置快捷启动键mysqld和mysql指令:
在/etc/profile文件中添加环境变量
vim /etc/profile
添加
export MYSQLD_HOME=/etc/init.d
export MYSQL_HOME=/usr/java/mysql/mysql5.6
export PATH=$JAVA_HOME/bin:$JDK_HOME/bin:$MYSQLD_HOME:$MYSQL_HOME/bin:$PATH
然后刷新
source /etc/profile
最后,
输入mysqld start/stop/restart 可以开启关闭重启mysql数据库
输入mysql -h127.0.0.1 -uroot -p可以直接操作数据库和数据表
就此已安装完毕!