https://blog.youkuaiyun.com/qq_37598011/article/details/93489404/
安装就照着这个博主的操作,应该就没问题
自己记录下:
- 下载tar.gz包,
https://dev.mysql.com/downloads/mysql/5.7.html#downloads
- 解压
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar
- 创建mysql用户组和用户并修改权限
groupadd mysql useradd -r -g mysql mysql mkdir -p /data/mysql #创建目录 chown mysql:mysql -R /data/mysql #赋予权限
- 添加配置文件
vim /etc/my.cnf
[mysqld] bind-address=0.0.0.0 port=3306 user=mysql basedir=/usr/local/mysql datadir=/data/mysql socket=/tmp/mysql.sock log-error=/data/mysql/mysql.err pid-file=/data/mysql/mysql.pid #character config character_set_server=utf8mb4 symbolic-links=0 explicit_defaults_for_timestamp=true
- 初始化数据库
并查看密码cd /usr/local/mysql/bin/ ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
cat /data/mysql/mysql.err
- 先将mysql.server放置到/etc/init.d/mysql中,然后启动mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql service mysql start ps -ef|grep mysql ./mysql -u root -p #bin目录下 登录mysql并修改密码 SET PASSWORD = PASSWORD('123456'); ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; FLUSH PRIVILEGES; use mysql #访问mysql库 update user set host = '%' where user = 'root'; #使root能再任何host访问 FLUSH PRIVILEGES; #刷新 ln -s /usr/local/mysql/bin/mysql /usr/bin #这样启动mysql就不用进入bin目录都可以了
最后,如果Navicat连接提示Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.soc
的解决办法:
- 首先确保mysql是启动着的
- 查看my.conf配置文件
能看到[mysqld] bind-address=0.0.0.0 port=3306 user=mysql basedir=/usr/local/mysql datadir=/data/mysql socket=/tmp/mysql.sock log-error=/data/mysql/mysql.err pid-file=/data/mysql/mysql.pid #character config character_set_server=utf8mb4 symbolic-links=0 explicit_defaults_for_timestamp=true
socket=/tmp/mysql.sock
而不是/var/lib/mysql/mysql.soc
- 所以解决办法有两个
- 修改配置文件
- 建立软连接
cd /var/lib sudo mkdir mysql sudo ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock