Linux 系统下安装MySQL
环境:
1、操作系统:CentOS release 7.2 (Final) --6.5以上-7.4以下都可以采用以下方法安装
2、安装版本: mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz
3、下载地址:http://dev.mysql.com/downloads/mysql/
4、下载说明:上边的下载地址是最新版的,如果想下载老版本可以点击页面中的超链接“Looking for previous GA versions?”
5、特殊说明:Linux下MySQL5.6与MySQL5.7安装方法略有不同,但也大差不差,本文以5.6为主
安装步骤
0、卸载老版本MySQL
查找并删除mysql有关的文件
find / -name mysql
rm -rf 上边查找到的路径,多个路径用空格隔开
#或者下边一条命令即可
find / -name mysql|xargs rm -rf
Paste_Image.png
1、在安装包存放目录下执行命令解压文件:
tar -zxvf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz
2、删除安装包,重命名解压后的文件
rm -f mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.31-linux-glibc2.5-x86_64/ mysql
3、添加mysql用户组和mysql用户
先检查是否有mysql用户组和mysql用户
groups mysql
若无,则添加;
groupadd mysql
useradd -r -g mysql mysql
若有,则跳过;
4、进入mysql目录更改权限
cd mysql/
chown -R mysql:mysql ./
5、执行安装脚本
./scripts/mysql_install_db --user=mysql
安装完之后修改当前目录拥有者为root用户,修改data目录拥有者为mysql
chown -R root:root ./
chown -R mysql:mysql data
6、更改mysql密码
上一步安装脚本执行输出的日志中告诉我们如何更改密码了
修改root用户的密码,初始密码为空,执行命令:
首先进入mysql安装目录下:
./bin/mysqladmin -u root password '1qaz!QAZ'
注意:
执行此命令会提示:Warning: Using a password on the command line interface can be insecure,可忽略此警告
进入mysql,执行命令:
mysql -u root -p,然后enter password
创建用户:
CREATE USER 'zhaoduwang'@'%' IDENTIFIED BY '1qaz!QAZ';
%:该用户可以从任意远程主机登陆
用iflytek登陆
mysql -u zhaoduwang -h 172.31.3.212 -p
注意:
若输入密码报错:ERROR 1045 (28000): Access denied for user 'zhaoduwang'@'suse-06' (using password: YES),
需要在root用户下执行sql语句:
CREATE USER 'zhaoduwang '@'slave1 ' IDENTIFIED BY '1qaz!QAZ '; ---slave1主机名
创建数据库saa,执行sql语句(随安装包一起发出的数据库初始化sql语句):
create database saa;
授权 :
grant all on saa.* to 'zhaoduwang'@'%';
但是如果直接执行这两条命令就会报错
因为这时还没有启动mysql,这算是一个坑。启动方法如下:
./support-files/mysql.server start
如果MySQL启动报错,则可能是已经存在MySQL进程,杀掉即可
ps aux|grep mysql
kill -9 上边的进程号
#或者下边一条命令即可杀掉所有MySQL进程
ps aux|grep mysql|awk '{print $2}'|xargs kill -9
杀掉后再启动即可。
MySQL启动之后再执行如下命令更改密码:
./bin/mysqladmin -u root -h localhost.localdomain password 'root' ---localhost.localdomain主机名根据实际情况修改
密码更改后即可登录MySQL
./bin/mysql -h 127.0.0.1 -u root -p root
登录之后将其他用户的密码也可改为root
update mysql.user set password=password('root') where user='root';
flush privileges;
7、增加远程登录权限
上一步即可本地登录,但远程登录会报错
为解决这一问题,需要本地登陆MySQL后执行如下命令
grant all privileges on *.* to root@'%' identified by 'root';
flush privileges;
以上语句如果不行可执行以下语句:
1、GRANT ALL PRIVILEGES ON *.* TO 'root'@'slave1' IDENTIFIED BY '1qaz!QAZ' WITH GRANT OPTION; --slave1是主机名
2、flush privileges;
执行之后即可远程登录
8、将MySQL加入Service系统服务
先进入mysql安装目录下
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld restart
service mysqld status
9、配置my.cnf
通常my.cnf文件在etc/目录下
vim my.cnf
#添加以下两条语句并保存退出
character-set-server=utf8
lower_case_table_names=1
max_allowed_packet=100M
配置好之后,重启mysqld服务
注意说明:
1、yum安装的mysql启动命令
2、如发现mysql没有启动命令时可采用以下方法试试