1、检查系统是否安装过mysql
//检查系统中有无安装过mysql rpm -qa|grep mysql //查询所有mysql 对应的文件夹,全部删除 whereis mysql find / -name mysql
2、创建mysql用户
#创建mysql 用户组和用户
groupadd mysql
useradd -r -g mysql mysql
3、下载安装,从官网安装下载,我下载的位置在/usr/local/
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
4、解压安装mysql
注:必须安装在/usr/local/下 tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz //解压MySQL包 mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql //重命名
5、更改mysql 目录下所有文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/local/mysql //更改mysql 目录下所有文件夹所属的用户组和用户 chmod -R 755 /usr/local/mysql //更改mysql权限
6、进入mysql/bin/目录,编译安装并初始化mysql,务必记住数据库管理员临时密码
注:记住临时密码!!!
//解决参数化mysql服务错误问题 yum -y install numactl //添加numactl依赖库 //解决libaio.so.1:No such file or directory缺包问题 yum install libaio* ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
7、编写配置文件 my.cnf ,并添加配置
//配置文件 my.cnf ,并添加配置 vi /etc/my.cnf //文件内容 [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] character_set_server=utf8 datadir=/usr/local/mysql/data port = 3306 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES symbolic-links=0 max_connections=400 innodb_file_per_table=1 #表名大小写不明感,敏感为 lower_case_table_names=1
8、启动mysql 服务器
//查询服务 ps -ef|grep mysql ps -ef|grep mysqld //启动mysql 服务器 /usr/local/mysql/support-files/mysql.server start
9、添加软连接,并重启mysql 服务
//添加软连接 ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql //解决执行service命令错误问题 yum list | grep initscripts //查询initscripts依赖版本 yum install initscripts -y //安装initscripts依赖 //重启mysql服务 service mysql restart
10、登录mysql ,密码就是初始化时生成的临时密码
//解决mysql登录错误问题 yum install libncurses* mysql -u root -p //登入mysql,输入临时密码
11、修改密码,因为生成的初始化密码难记
set password for root@localhost = password('root'); //修改密码,注意:分号结尾
12、开放远程连接
use mysql; update user set user.Host='%' where user.User='root'; flush privileges;
13、设置开机自启
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld //将服务文件拷贝到init.d下,并重命名为mysql chmod +x /etc/init.d/mysqld //赋予可执行权限 chkconfig --add mysqld //添加服务 chkconfig --list //显示服务列表
解决相关问题:
1.初始密码验证失败
vim /etc/my.cnf #修改配置 skip-grant-tables #末尾添加,跳过密码验证 service restart mysql #重启mysql
进入到终端当中,敲入 mysql -u root -p命令然后回车,当需要输入密码时,直接按enter键,便可以不用密码登录到数据库当中
2.修改MySQL数据库配置文件无密码登录后,修改密码报错:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
flush privileges; #刷新缓存 set password for root@localhost=password('你的密码'); #修改密码
编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。大功告成!
参考链接、参考链接