0.安装前环境检查
- mysql安装包:
链接:https://pan.baidu.com/s/1USLJE5lh11ZLJYtt0w-1dA?pwd=t90x - 检查系统是否自带mariadb
输入如下检查。
rpm -qa | grep mariadb
- 卸载mariadb
如果有则需要把它卸载掉,因为会和Mysql引起冲突,输入如下卸载掉。
rpm -e --nodeps mariadb-libs
1.开始安装
- 解压mysql5.7
将mysql安装包上传到linux下的 /usr/local 目录下进行操作,然后执行解压命令
cd /usr/local
tar -zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
- 修改文件夹名字为mysql
mv mysql-5.7.11-linux-glibc2.5-x86_64 mysql
- 创建一个属组,添加mysql用户,修改属组及属组用户和文件夹权限;
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql mysql
chmod -R 775 mysql
- 进入到mysql目录下,创建data目录用于保存数据文件。
cd mysql
mkdir data
- 安装libaio, 然后再进入bin目录下,执行初始化安装命令
yum install libaio
cd bin/
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
-
安装完成之后,最下方出现临时密码,等会第一次进入需要它来登录
-
建立软连接
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
然后查看是否成功
ll /etc/init.d/mysql
8.再添加bin目录的软连接
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
9.配置文件my.cnf
vi /etc/my.cnf
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 作用是禁止域名解析:在mysql的授权表中就不能使用主机名了,只能使用IP
skip-name-resolve
# 设置3306端口
port = 3306
#设置远程访问ip
bind-address=0.0.0.0
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#设置查询操作等不区分大小写
lower_case_table_names=1
10.设置文件权限
chmod -R 775 /etc/my.cnf
2.开始启动mysql服务
1.输入启动命令
service mysql start
2.设置开机自启,查看是否开启
chkconfig --add mysql
chkconfig --list
3.首次登录mysql
使用到刚才记录的临时密码登录进去,输入
mysql -uroot -p
4.密码修改
set password for root@localhost = password('123456');
5.配置远程连接用户
grant all privileges on *.* to 'root'@'%' identified by '123456';
可能出现的问题
1.找不到mysql.sock
先用find命令查找此文件夹
find / -name "mysql.sock"
一般来说在/tmp/mysql.sock,此时可以复制一份到默认的目录,或者执行如下即可
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
2.设置免密登录修改密码
如果第一次一直登录不上,可以先免密登录,再修改密码
1.先停止mysql服务
service mysql stop
2.修改my.cnf文件
vi /etc/my.cnf
给最后添加一行
skip-grant-tables
3.重启mysql
service mysql start
4.进入mysql
mysql -u root -p # 不用输入密码,直接回车
5.修改密码:
update mysql.user set authentication_string='123456' where user='root';
6.改回my.cnf
删除或注释最后一行skip-grant-tables