WSL连接数据库

sudo apt-get install mysql-server
sudo service mysql start
sudo cat /etc/mysql/debian.cnf 
查看初始用户名和密码后,登录
mysql -h127.0.0.1 -udebian-sys-maint -pXR4uL6scQvcd3Bq7
UPDATE mysql.user SET authentication_string=PASSWORD('root'), PLUGIN='mysql_native_password' WHERE USER='root';
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
mysql -uroot -p
mysql -h127.0.0.1 -uroot -p123123 < finance.sql 2>/dev/null
mysql -h127.0.0.1 -uroot -p123123

提示错误:

ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)。

解决方案
MySQL安装时默认的用户是root,这里的root是指数据库的用户,root密码一般在初始化MySQL时存放在你的日志文件中,日志文件的存放路径可以通过my.cnf文件进行自定义。

使用如下方法即可解决,本人已验证可行。

1.停止mysql数据库
/etc/init.d/mysqld stop
(或者直接 kill -9 [PID] 杀进程!)

2.执行如下命令
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

3.使用root登录mysql数据库
mysql -u root mysql

4.更新root密码
mysql> UPDATE user SET Password=PASSWORD(‘newpassword’) where USER=‘root’;

最新版MySQL请采用如下SQL:
mysql> UPDATE user SET authentication_string=PASSWORD(‘newpassword’) where USER=‘root’;

5.刷新权限
mysql> FLUSH PRIVILEGES;

6.退出mysql
mysql> quit

7.重启mysql
/etc/init.d/mysqld restart

8.使用root用户重新登录mysql
mysql -uroot -p
Enter password: <输入新设的密码newpassword>

错误记录

报错:

[ERR] 1273 - Unknown collation: ‘utf8mb4_0900_ai_ci’

报错原因:
生成转储文件的数据库版本为8.0,要导入sql文件的数据库版本为5.6,因为是高版本导入到低版本,引起1273错误

解决方法:
打开sql文件,将文件中的所有
utf8mb4_0900_ai_ci替换为utf8_general_ci
utf8mb4替换为utf8
保存后再次运行sql文件,运行成功

你可能感兴趣的:(数据库,数据库,mysql)