环境:
1、操作系统:CentOS
2、安装版本: mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz
3、特殊说明:Linux下MySQL5.6与MySQL5.7安装方法略有不同,本文以5.6为主
安装步骤
卸载老版本MySQL
1.查找并删除mysql有关的文件
find / -name mysqlrm -rf 上边查找到的路径,多个路径用空格隔开#或者下边一条命令即可find / -name mysql|xargs rm -rf
![419f1449cde1e1cff83016af59281686.png](https://i-blog.csdnimg.cn/blog_migrate/32e55de313ccdcd06177a8eb8bcbc1b2.jpeg)
2、在安装包存放目录下执行命令解压文件:
tar -zxvf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz
![9d83219b1fe83115355212e4534574b0.png](https://i-blog.csdnimg.cn/blog_migrate/8fb55d1df4445e2c392d78527a400717.jpeg)
3、删除安装包,重命名解压后的文件
rm -f mysql-5.6.31-linux-glibc2.5-x86_64.tar.gzmv mysql-5.6.31-linux-glibc2.5-x86_64/ mysql
![9ef5c5b40078bd9e93352473643e9be0.png](https://i-blog.csdnimg.cn/blog_migrate/360065e9a52014e041d5ece2f14138e2.jpeg)
4、添加mysql用户组和mysql用户
先检查是否有mysql用户组和mysql用户
groups mysql
![7cdf7eb6bae87d797ac5ab8888012730.png](https://i-blog.csdnimg.cn/blog_migrate/2843816d45d2ead24296b9b8c1c579ab.jpeg)
若无,则添加;
groupadd mysqluseradd -r -g mysql mysql
![7a7fedea5de39877cdf777e8b529fb14.png](https://i-blog.csdnimg.cn/blog_migrate/4cb1e8e3c09259829c930fd82f16d6c1.jpeg)
若有,则跳过;
![4028b99ec958e068ce786db6d4684c7c.png](https://i-blog.csdnimg.cn/blog_migrate/76d06c60daefd06044a3e0eef79b536d.jpeg)
5、进入mysql目录更改权限
cd mysql/chown -R mysql:mysql ./
![f96774d1546a2c09fe2be0a80907d6d3.png](https://i-blog.csdnimg.cn/blog_migrate/268eb76a9522d32375e59779f906e1be.jpeg)
6、执行安装脚本
./scripts/mysql_install_db --user=mysql
出现如下异常: FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db: Data::Dumper 解决方案: ]# yum install -y perl-Module-Install.noarch
原因: 在centos7环境中没有找到离线安装的办法,只能在线安装,需要调整到可联网状态。虚拟机中的话,可以调整到nat模式下。
先执行yum install -y perl-Module-Install.noarch,然后执行安装脚本 ./scripts/mysql_install_db --user=mysql
![99b1889c75cc15f38f15cc540e9bebb8.png](https://i-blog.csdnimg.cn/blog_migrate/56a696d0a56f43e43f320cd101cf7699.jpeg)
安装完之后修改当前目录拥有者为root用户,修改data目录拥有者为mysql
chown -R root:root ./chown -R mysql:mysql data
![439cbba30b01ca4f2c707a846eda8ef6.png](https://i-blog.csdnimg.cn/blog_migrate/3b732550141fadbb7580af181a13e66e.jpeg)
7、更改mysql密码
上一步安装脚本执行输出的日志中告诉我们如何更改密码了
![b8e9c560928141c629bbe4bd07f17e4b.png](https://i-blog.csdnimg.cn/blog_migrate/851f31eb42d5b9463de0bc38118f2915.jpeg)
但是如果直接执行这两条命令就会报错
![7fc756f5f1a2e274f45ade8659fe71cb.png](https://i-blog.csdnimg.cn/blog_migrate/0ca3d5ffcbe68bb972e904b9bb17b5a7.jpeg)
因为这时还没有启动mysql,这算是一个坑。启动方法如下:
./support-files/mysql.server start
![2e0937b03046e8b11a4664cffdc70c16.png](https://i-blog.csdnimg.cn/blog_migrate/ce7bba671c43368d892ab68a8d744d0b.jpeg)
如果MySQL启动报错,则可能是已经存在MySQL进程,杀掉即可
ps aux|grep mysqlkill -9 上边的进程号#或者下边一条命令即可杀掉所有MySQL进程ps aux|grep mysql|awk '{print $2}'|xargs kill -9
![641bfe27c7e9dfaca22f90628d944d7e.png](https://i-blog.csdnimg.cn/blog_migrate/3ddc72a1a3cde977b5e2d3638a5c0a1a.jpeg)
杀掉后再启动即可。
![c3209707bede96715dc026e123563e8e.png](https://i-blog.csdnimg.cn/blog_migrate/9313602a88de1ef6525bcaa2f030437b.jpeg)
Paste_Image.png
MySQL启动之后再执行如下命令更改密码:
./bin/mysqladmin -u root -h localhost.localdomain password 'root'
![87e228ef27f0385ecb21cbc5769157e9.png](https://i-blog.csdnimg.cn/blog_migrate/0e1c33ab70cb27155cef96484e539619.jpeg)
Paste_Image.png
密码更改后即可登录MySQL
./bin/mysql -h127.0.0.1 -uroot -proot
![500523440e79137a8814623b23dbe9b4.png](https://i-blog.csdnimg.cn/blog_migrate/165733fbf4728e76c49480007f1b7ece.jpeg)
登录之后将其他用户的密码也可改为root
update mysql.user set password=password('root') where user='root';flush privileges;
![79658d8856c49da1d669ac8b913d7188.png](https://i-blog.csdnimg.cn/blog_migrate/19df034d896f2beb7a2178e97d74539c.jpeg)
mysql命令 出现-bash: mysql: command not found的方法
原因:因为系统默认会查找/usr/bin下的命令,由于mysql没有在这个目录下,所以出现not found。因此需要做一个软连接到/usr/bin目录下。
执行命令: ln -s /usr/local/mysql/bin/mysql /usr/bin 即可。
8、增加远程登录权限
上一步即可本地登录,但远程登录会报错
![2a8cab3cc1cecd3fda62a6c2a5d75aea.png](https://i-blog.csdnimg.cn/blog_migrate/1b8cf25e8cbe8e5583d12698a356fb97.jpeg)
Paste_Image.png
为解决这一问题,需要本地登陆MySQL后执行如下命令
grant all privileges on *.* to root@'%' identified by 'root';flush privileges;
![9cc8c1193d6b5b99dc79938d0e1b16cf.png](https://i-blog.csdnimg.cn/blog_migrate/5f2009ee15a606979d32667a04741d90.jpeg)
Paste_Image.png
执行之后即可远程登录
![d8a615f42af7f63f1f11c2488d017449.png](https://i-blog.csdnimg.cn/blog_migrate/124b5e4edd4f55dfa485264540152aee.jpeg)
9、将MySQL加入Service系统服务
cp support-files/mysql.server /etc/init.d/mysqldchkconfig --add mysqldchkconfig mysqld onservice mysqld restart service mysqld status
![b885485a5bdecb3b08c6ff26921dbb63.png](https://i-blog.csdnimg.cn/blog_migrate/58bbf5ce53244d0294c4ef73968b4c50.jpeg)
![6e67de3b4d4fc7ed3858afe96bfdb2df.png](https://i-blog.csdnimg.cn/blog_migrate/bf5ca3d92a800dbb87f188e7e6b8f8e3.jpeg)
10、配置my.cnf
vim my.cnf#添加以下两条语句并保存退出character-set-server=utf8lower_case_table_names=1max_allowed_packet=100M
![794d7fb3c3c954d0237ea8ef933ad77b.png](https://i-blog.csdnimg.cn/blog_migrate/f525825ea7be17977cd744ab3d7908a5.jpeg)
配置好之后,重启mysqld服务
![690b52d2592dc07f785fb00c0f32a7fe.png](https://i-blog.csdnimg.cn/blog_migrate/977135a26b8e74ca0f125618cea0f9de.jpeg)