赞
踩
(这里2024-4-30 最新搞定的版本) 真能行的方法!!
: 下面是装ubuntu 22.04 的时候,装数据库,有lower_case_table_names = 1 大小写的区分的时候的问题。
1.卸载
卸载mysql(能卸载5.7和8.0)
sudo apt-get remove mysql-*
1
然后清理残留的数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
有旧的版本直接清掉即可
安装新版本
sudo apt install mysql-server
安装全以后, 停止数据库。
将: /var/local/mysql/ (/var/lib/mysql/) 中的库直接删掉 ,
在 /etc/mysql/mysql.conf.d/mysqld.cnf ,中 加入 :lower_case_table_names = 1 ,加在前面
用这个重新初始化数据库: sudo /usr/sbin/mysqld --initialize --user=root --lower-case-table-names=1
这个时候的问题是 登陆数据库的密码:要从日志中去找,新生成的临时密码: sudo cat /var/log/mysql/error.log | grep password ,
样例:2024-04-29T15:59:58.019495Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: I!.2L4AyhyOt
现在进去就是改一下密码: mysql -u root -p (上面的密码),然后接着把密码改了。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'abc@123456';
FLUSH PRIVILEGES;
查询是否改成功?:使用:select @@lower_case_table_names; (查询值=1)为修改成功。
重新导入数据库。
------------------------------------------------------------------
远程设置: (mysql 8)
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'robot'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
root 用于本地访问, 新创新的用户用于远程访问。
真能行的方法!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。