cd soft
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gzmysql
mkdir /home/XXX/usr/local
mkdir /home/XXX/usr/local/data
mkdir /home/XXX/usr/local/log
mv mysql-5.7.25-linux-glibc2.12-x86_64 /home/XXX/usr/local/mysqllinux
(若是root用户安装的mysql占用了3306,那么普通用户须要修改端口号;这里端口号“port=3336”。)sql
cd /home/XXX/usr/local/mysql/数据库
vi my.cnf
+++++++++++++my.cnf++++++++++++++++++++++++
[client]
port=3336
socket=/home/XXX/usr/local/mysql/mysql.sock
[mysqld]
port=3336
#设置mysql的安装目录
basedir=/home/XXX/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/home/XXX/usr/local/data
pid-file=/home/XXX/usr/local/mysql/mysql.pid
socket=/home/XXX/usr/local/mysql/mysql.sock
log_error=/home/XXX/usr/local/log/error.log
collation_server=utf8_general_ci
# 服务端使用的字符集默认为8比特编码的latin1字符集
character_set_server=utf8
log-bin=/home/XXX/usr/local/log/mysql-bin
server-id=100
++++++++++++++++my.cnf++++++++++++++++++++socket
cd /home/XXX/usr/local/mysql
./bin/mysqld --defaults-file=/home/XXX/usr/local/mysql/my.cnf --initialize --user=XXX --basedir=/home/XXX/usr/local/mysql --datadir=/home/XXX/usr/local/data
tcp
cat /home/XXX/usr/local/log/error.log |grep root@localhostide
cd /home/XXX/usr/local/mysql/bin/
./mysqld_safe --defaults-file=/home/XXX/usr/local/mysql/my.cnf --user=XXX &
测试
cd /home/XXX/usr/local/mysql/bin/
$ ./mysql -uroot -P3336 -p -S /home/XXX/usr/local/mysql/mysql.sock
编码
alter user 'root'@'localhost' identified by 'mysql@123';
grant all privileges on *.* to 'root'@'%' identified by 'mysql@123' with grant option; #或指定网段登陆
use mysql;
select host,user from user;
+-----------+---------------+
| host | user |
+-----------+---------------+
| % | root |
+-----------+---------------+
FLUSH PRIVILEGES;
rest
netstat -ntpl |grep 3336
mysql -u root -h XXX.XXX.XXX.XXX(主机IP) -P 3336 -p
+++++++++++++++++++++++++++++++++++++++++++++
报错:ERROR 2003 (HY000): Can't connect to MySQL server
缘由:没有开通防火墙或者关闭防火墙.
vi /etc/sysconfig/iptables
添加一条:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3336 -j ACCEPT
重启防火墙
service iptables restart
####################
5.7mysql
修改密码:
vi /etc/my.cof
[mysqld]
skip-grant-tables
进入数据库
mysql> update user set authentication_string=password('Huaaa12#$') where user='root';
mysql>flush privileges;