mysql的安装
初始化
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config && setenforce 0
yum -y install libaio libgcc_s.so.1 libstdc++.so.6 net-tools perl
https://dev.mysql.com/downloads/mysql/
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
rpm -qa|grep mariadb //查询出来已安装的mariadb
rpm -e --nodeps 文件名 //卸载mariadb,文件名为上述命令查询出来的文件
例如:
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
解压tar包
tar xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
按照依赖关系依次安装rpm包 依赖关系依次为common--libs--client--server
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
如果没有报错 就不用安装 net-tools perl numactl
安装service 包提示cat
[root@VM_0_16_centos mysql]# rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.26-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.26-1.el7.x86_64
libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-server-5.7.26-1.el7.x86_64
libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-server-5.7.26-1.el7.x86_64
yum install net-tools 输入 y q确定
yum install perl
yum install numactl
systemctl start mysqld.service 启动mysql
systemctl status mysqld.service 查看mysql状态
systemctl stop mysqld.service 关闭mysql
cat /var/log/mysqld.log |grep password
[root@VM_0_16_centos mysql]# cat /var/log/mysqld.log |grep password
2020-04-09T06:16:51.252669Z 1 [Note] A temporary password is generated for root@localhost: 5Scr:#kp8Vt?
密码为: 5Scr:#kp8Vt? 注意没有空格
mysql密码找回
方法一:
vi /etc/my.cnf
在[mysqld]下加上 skip-grant-tables,如:
[mysqld]
skip-grant-tables#skip-grant-tables 加在最上面
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
service mysqld restart
登陆mysql后就可以修改密码了
mysql -u root 可以直接登录 跳过输入密码
update mysql.user set authentication_string=PASSWORD('root') where User='root';
flush privileges;
然后改回my.cnf重启mysql。
密码设置成功之后 就不要设置下面的密码策略了 面得弄巧成拙血泪史!不提了.
修改mysql密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
ALTER USER 'root'@'localhost' IDENTIFIED BY ‘root';
set global validate_password_policy=0;
set global validate_password_length=1;
退出mysql quit + 回车
grant all privileges on *.* to root@'%' identified by '123456';
grant all privileges on *.* to root@'%' identified by 'root';
刷新权限表
flush privileges;
grant all privileges on *.* to 'root'@ '172.20.222.3' identified by 'root';
如果无法授权解决办法
ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 43. Created with MySQL 5
ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 43. Created with MySQL 5的解决方案。
错误是由于你曾经升级过数据库,升级完后没有使用
mysql_upgrade升级数据结构造成的。
解决办法:
使用mysql_upgrade命令
root@localhost ~]# mysql_upgrade -u root -p 13456
再输入密码
root
现象
l.help_topic OK
mysql.host OK
mysql.innodb_index_stats OK
mysql.innodb_table_stats OK
mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.proxies_priv OK
mysql.server_cost OK
mysql.servers OK
mysql.slave_master_info OK
mysql.slave_relay_log_info OK
mysql.slave_worker_info OK
mysql.slow_log OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
页面更新:2024-05-13
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号