CentOS 7.6下使用yum安装MySQL5.7
注:若以前安装过mysql需要先清除,安装。
- 清除步骤:
yum remove mysql mysql-server mysql-libs mysql-server;
find / -name mysql 将找到的相关东西delete掉
rm /etc/my.cnf
rpm -qa|grep mysql(查询出来的东东yum remove掉,或者用rpm –e xxx 删除)
- 安装步骤:
1、下载mysql的repo源
$ wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
2、 安装MySQL源
$ rpm -Uvh mysql57-community-release-el7-10.noarch.rpm
3、安装mysql
$ yum install -y mysql-community-server
4、启动mysql
service mysqld start
5、开机自启动
$ systemctl enable mysqld
6、查找初始密码
安装后有初始密码,需要重置密码
获取初始密码:
$ grep 'temporary password' /var/log/mysqld.log
7、登录修改密码及权限
$ mysql -u root -p
#:设置root密码
$ mysql> set password for 'root'@'localhost' =password('password');
#设置root权限,包括远程访问权限
$ mysql>Grant all privileges on *.* to root@'%' identified by 'password' with grant option;
$ mysql> flush privileges;
- 数据迁移:
1、创建文件夹 /data/mysql/var/lib
$ mkdir -p /data/mysql/var/lib
$ chmod 777 /data/mysql/var/lib
2.停止mysql服务
$ service mysqld stop
3.复制数据目录 & 备份原有数据目录
$ cp -R /var/lib/mysql /data/mysql/var/lib
4.授权
$ chown -R mysql:mysql /data/mysql/var/lib/mysql/
5.修改配置文件 /etc/my.cnf
vim /etc/my.cnf
修改[mysqld]下:
datadir=/data/var/lib/mysql
socket=/data/var/lib/mysql/mysql.sock
修改[mysqld]下,没有就添加:
socket=/data/var/lib/mysql/mysql.sock
6、设置系统权限
临时关闭SELinux
setenforce 0
永久关闭
vim /etc/sysconfig/selinux
vim /etc/selinux/config
把SELINUX=enforcing 改为 SELINUX=disabled
- 相关操作命令如下:
查看已安装内容
# rpm -qa | grep -i mysql
设置密码
mysql> set password for 'root'@'localhost' =password('password');
开通该用户访问权限
启动
#service mysqld start
重启
# service mysqld restart
关闭
#service mysqld stop
开机启动设置(默认 应该自启动了 ):
# systemctl enable mysqld
创建新用户
误笔记:
问题一、登陆mysql 必须要带上sock文件,否则报找不到socket文件错误。
原因:my.cnf 中【client】写成了【cilent】。
问题二、Starting MySQL..The server quit without updating PID file (/mysql/data/mysql/Server-dzzp.pid). failed
原因是权限不够, chmod –R 755 /mysql/data/mysql ok
相关问题参见:http://www.jb51.net/article/48625.htm
问题三、服务突然停了,再起起不来, 报错。
排查步骤:1. 基本确认了网上常用的方法还是没有用。
2.ps -ef | grep mysql 没有进程。
3.移走/mydata/mysqldata/mysql/下的3个文件,ib_logfile0、ib_logfile1、ibdata1。(ibdata1千万不能删)
4.重启服务还是报错。
5.查看错误日志,发现异常错误很多,并且服务没有启动,仍然会写错误日志,可能是有些隐形进程。
6.暴力重启服务器后,数据库启动正常。再重启mysql服务后系统启动正常.
7.试用数据库发现很多表打不开,晕。
8. 将ibdata1文件再移回来,重启报错,跟前面错误一样。
9.删除ib_logfile0,ib_logfile1文件,重启OK。
总结:1. 数据库一定要定期保存。
2. 先看错误日志,分析错误原因。
有效解决步骤:
- 查看错误日志,确认是否常见问题,这里应该是服务器异常导致。
- 删除mysql数据目录下ib_logfile0,ib_logfile1文件。(可以先备份)。
- 重启mysql服务,如果起不来可以先重启服务器(谨慎)。
问题4:default_character_set 和 character_set_server=utf8 混淆