CentOS7默认数据库是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默认好像是没有mysql的
-
卸载 先停掉mysql进程 没有安装过的可以直接跳过!
pkill -9 mysqld rpm -qa|grep -i mysql
用命令yum -y remove 卸载mysql文件
卸载不掉的用 rpm -ev 卸载
一直卸载到没有 -
下载mysql的repo源 这次安装的时mysql5.7.20
[root@localhost ~]# cd /usr/local/src/ [root@localhost src]# wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm [root@localhost src]# rpm -ivh mysql57-community-release-el7-8.noarch.rpm [root@localhost src]# yum -y install mysql-server //也可以指定安装目录 yum --installroot=/usr/local/mysql --releasever=/ -y install mysql-server
我没试,这样装环境变量配置都不用你管,装上直接启动就行。安装路径是默认的。
默认配置文件路径:
- 配置文件:/etc/my.cnf
- 日志文件:/var/log/var/log/mysqld.log
- 服务启动脚本:/usr/lib/systemd/system/mysqld.service
- socket文件:/var/run/mysqld/mysqld.pid
-
配置my.cnf
vim /etc/my.cnf [mysqld] # # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock server_id = 1 expire_logs_days = 3 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
-
启动mysql服务
service mysqld restart //检查mysql 的运行状态 service mysqld status systemctl status mysqld.service //获取临时密码 grep 'temporary password' /var/log/mysqld.log //使用密码登录 mysql -uroot -p //登录后必须马上修改密码,不然会报错误1820 //修改密码太简单会报错1819 ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; //解决方案 //首先,修改validate_password_policy参数的值 mysql> set global validate_password_policy=0; //再修改密码的长度 set global validate_password_length=1; //再次执行修改密码就可以了 ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; //授权其他机器登陆 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; //最后记得刷新权限; FLUSH PRIVILEGES; //同样修改的host的方式还有这个更新数据库 mysql> update user set host='%' where user='root' and host='localhost'; mysql> flush privileges;