一、准备安装环境
下载mysql安装包,官网地址:https://downloads.mysql.com/archives/community/
server CentOS7为例
用户名whl,需要把mysql安装到用户目录下 /apps
1、删除冲突依赖包
rpm -qa |grep mysql
whereis mysql >>> 找的就rm掉
find / -name mysql >>> 找的就rm掉
rpm -qa|grep mariadb >>> rpm -e --nodeps mariadb-libs-5.5.60-1.el7-5.x86_64
删除etc目录下的my.cnf,一定要删掉:rm /etc/my.cnf
2、创建用户和组
[root@localhost apps]# groupadd whl
[root@localhost apps]# useradd -r -g whl whl
[root@localhost apps]# passwd whl
密码:asdwhl@0
3、上传tar包到/apps目录下解压,更名为mysql
[root@localhost apps]# tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
[root@localhost apps]# mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
4、修改用户组为普通用户whl
[root@localhost apps]# chown -R whl:whl /apps
5、设置环境变量
[root@localhost home]# echo "export PATH=$PATH:/apps/mysql/bin" >> /etc/profile
[root@localhost home]# source /etc/profile
6、使用whl用户登录,出现"-bash-4.2$"问题,参考个人文章解决方法
二、安装
2.1、在mysql目录下创建文件my.cnf,创建data、log目录
[whl@localhost mysql]$ mkdir log
[whl@localhost mysql]$ mkdir data
[whl@localhost mysql]$ vi my.cnf
[mysqld]
basedir=/home/user/mysql
datadir=/home/data/mysql3336
port = 3336
socket=/home/user/msyql/mysql.sock
symbolic-links=0
log-error=/home/user/mysql/log/mysqld.log
pid-file=/home/user/mysql/mysqld.pid
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
# 给log-bin日志文件命名为mysql-bin
log-bin=mysql-bin
binlog-format=ROW
server_id=1
max_connections=1000
# 设置biglog日志,保留时间默认7天
expire_logs_days=7
# 忽略大小写
lower_case_table_names=1
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
2.2、初始化
指定my.cnf路径
指定user
指定basedir路径
指定data路径
[whl@localhost mysql]$ bin/mysqld --defaults-file=/apps/mysql/my.cnf --initialize --user=whl --basedir=/apps/mysql --datadir=/apps/mysql/data
2.3、查看初始化密码
[whl@localhost mysql]$ grep "password" /apps/mysql/log/mysqld.log
2.4、启动mysql,输入启动指令,等一会回车即可
[whl@localhost mysql]$ bin/mysqld_safe --defaults-file=/apps/mysql/my.cnf --user=whl &
2.5、查看进程,端口号
[whl@localhost mysql]$ ps -ef | grep mysql
[whl@localhost mysql]$ ss -utlanp | grep 3306
2.6、需要将mysql.sock 下 链接在/tmp/mysql.sock下,不然登录数据库会报下面错误
[whl@localhost mysql]$ ln -s /apps/mysql/mysql.sock /tmp/
2.7、登录数据库,使用初始化密码
[whl@localhost mysql]$ bin/mysql -uroot -p
mysql命令全局可用方法
sudo ln -s /apps/mysql/bin/mysql /usr/bin/
也可以带上mysql.sock的绝对路径启动,不软连接/tmp
[root@localhost ~]# mysql -uroot -p /apps/mysql/mysql.sock
2.8、修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'asdwhl@0';
2.9、修改远程连接,授权任意机器可访问,并生效-----修改完后,应当再修改一次密码,不然会报下面测试错误,登录失败
可以参考以下命令内容设定,没时间验证了,重新翻新了文档
查看当前主机用户情况:
mysql> select host, user from user;
授权:
mysql> update user set host='%' where user='root';
mysql> grant all privileges on *.* to 'root'@'%' identified by '密码';
mysql> flush privileges;
注意:host已经从localhost变成%,所以密码也需要再次变更一下
mysql> ALTER USER 'root'@'%' IDENTIFIED BY '密码';
mysql> flush privileges;
<