日志
如果出错,实在不行看看日志进入mysql的logs文件夹,有一个mysql.log
卸载
直接覆盖安装会出错,一定要删干净
a、MariaDB数据库是MySQL数据库的一个分支,一般CentOS 7系统中会默认安装该数据库
yum remove mariadb-libs.x86_64
b、检查是否删除
yum list installed | grep mariadb
c、删除mysql
yum remove mysql mysql-server mysql-libs mysql-server;
d、检查是否删除
yum list installed | grep mysql
e、删除/etc/目录下的my.cnf文件
rm –rf /etc/my.cnf
f、将找到的相关东西rm -rf掉;
find / -name mysql
g、查询出来的东东yum remove掉
rpm -qa|grep mysql
依赖
如果没有安装该依赖包会导致数据目录初始化和服务启动失败。
安装:yum install libaio
检验:yum list installed | grep libaio
对于MySQL 5.7.19及以上版本还需要安装libnuma依赖包
安装:yum install numactl
检验:yum list installed | grep numactl
安装
博主将文件解压到了syzcd
解压:tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
重命名:mv mysql-5.7.22-linux-glibc2.12-x86_64/ mysql
授权:chmod 777 /syzcd/mysql/
创建数据目录:mkdir /syzcd/mysql/data
- 建户
可能会因为没有mysql用户而无法安装mysql
建组:groupadd mysql
建户:useradd -g mysql -d /syzcd/mysql mysql
- 配置文件
MySQL从5.7.18版本开始不再自带my.cnf
进入:cd /syzcd/mysql
创建:touch my.cnf
编辑:vi my.cnf
[mysqld]
port=3306
# 设置为自己MYSQL的安装目录
basedir=/syzcd/mysql/
# 设置为MYSQL的数据目录
datadir=/syzcd/mysql/data/
#默认编码格式
character_set_server=utf8
init_connect='SET NAMES utf8'
#支持运行Navicat脚本
#sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#一下内容最后安装好后在打开,否则可能出错
#允许默认时间字段为0
#explicit_defaults_for_timestamp=true
#查询数据表时,表名不区分大小写
#lower_case_table_names=1
#跳过数据库权限验证,如:跳过密码验证、允许修改数据表等
#skip-grant-tables
- 创建软连接
可能会默认从/usr/local/mysql寻找服务
打开目录:cd /usr/local/
映射:ln –s /syzcd/mysql/ mysql
建户:useradd -g mysql -d /usr/local/mysql mysql
- 编译
回到安装目录:cd /syzcd/mysql/
初始化:./bin/mysqld --user=mysql --basedir=/syzcd/mysql --datadir=/syzcd/mysql/data --initialize
初始化后会生成一个随机密码要记录下来,登录时要使用
- 生成ssl连接密钥文件
./bin/mysql_ssl_rsa_setup --defaults-file=/syzcd/mysql/my.cnf
- 启动服务
./support-files/mysql.server start
service mysqld start
- 登录
a、密码为上文生成的随机码
/syzcd/mysql/bin/mysql -u root -p -P 3306
b、修改root用户的登录密码,改为“root”:
set password for root@localhost = password('root');
c、再次登录验证新密码
开机自启
a、拷贝启动文件到/etc/init.d/下并重命为mysqld
cp /syzcd/mysql/support-files/mysql.server /etc/init.d/mysqld
b、增加执行权限
chmod 755 /etc/init.d/mysqld
c、添加到自启动项列表
chkconfig --add mysqld
d、设置开机启动
chkconfig mysqld on
验证
博主曾多次过遇到重启后mysql不能登录、服务无法启动的问题
a、重新启动
reboot
b、登录
/syzcd/mysql/bin/mysql -u root -p -P 3306