前记:
去年双12买了一台百度云的服务器,用来自己学习用的,一直没部署,趁现在不是那么忙,慢慢把需要的服务搭建起来。以供以后参考
环境:
1、操作系统:CentOS / 7.5 x86_64 (64bit) (百度云)
2、安装版本: mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
3、下载地址:http://dev.mysql.com/downloads/mysql/
安装步骤
1、卸载老版本MySQL
查找并删除mysql有关的文件
find / -name mysql
rm -rf 上边查找到的路径,多个路径用空格隔开 #或者下边一条命令即可 find / -name mysql|xargs rm -rf
2、在安装包存放目录下执行命令解压文件:
解压安装包
tar -zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
修改名称为mysql
mv mysql-5.6.43-linux-glibc2.12-x86_64 /home/mysql/mysql
3、先检查是否有mysql用户组和mysql用户
先检查是否有mysql用户组和mysql用户
groups mysql
若无,则添加;
groupadd mysql
useradd -r -g mysql mysql
若有,则跳过
4、进入mysql目录更改权限
进入mysql 目录 并修改权限
cd /home/mysql/mysql
chown -R mysql:mysql ./
5、执行安装脚本
在mysql目录执行安装脚本
./scripts/mysql_install_db --user=mysql --basedir=/home/mysql/mysql --datadir=/home/mysql/mysql/data
安装完之后修改当前目录拥有者为root用户,修改data目录拥有者为mysql
chown -R root:root ./
chown -R mysql:mysql data
6、更改mysql密码
一步安装脚本执行输出的日志中告诉我们如何更改密码了
但是如果直接执行这两条命令就会报错
因为这时还没有启动mysql,这算是一个坑。启动方法如下:
./support-files/mysql.server start
启动也有可能会报错
因为文件不一定存在,就去/var/log目录下创建相应目录和文件并修改权限
cd /var/log
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb
接着返回mysql 目录,并启动mysql 服务
MySQL启动之后再执行如下命令更改密码:
./bin/mysqladmin -u root -h localhost.localdomain password 'root'
密码更改后即可登录MySQL
./bin/mysql -h127.0.0.1 -uroot -proot
登录之后将其他用户的密码也可改为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;
执行之后即可远程登录
8、将MySQL加入Service系统服务
cp support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysql
chkconfig mysql on
service mysql restart
service mysql status
9、配置my.cnf
编辑my.cnf ,添加一下三条命令
vim my.cnf #添加以下两条语句并保存退出
#指定数据库的编码
character_set_server=utf8
#lower_case_table_names: 此参数不可以动态修改,必须重启数据库
#lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
#lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的
#lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写的
lower_case_table_names=1
#MySQL会根据配置文件会限制server接受的数据包的大小。如果写入大数据时,因为默认的配置太小,插入和更新操作会因为 max_allowed_packet 参数限制,而导致失败。
max_allowed_packet=100M
配置好之后,重启mysqld服务
参考文章:https://www.cnblogs.com/wangdaijun/p/6132632.html