先安装好MySQL
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
检查是否成功:sudo ps -aux | grep mysql
如果看到有mysql 则表示安装成功。
配置MySQL
sudo mysql_secure_installation
设置好密码后会出现一些安全设置:(我的输入是nyyy)1
验证MySQL是否正在运行
systemctl status mysql.service
有running显示即说明MySQL在运行!
注:登录mysql时一定要加sudo
一.远程登录问题
1.修改配置文件
终端输入
netstat -an | grep 3306
如果3306前面是127.0.0.1,就要求我们去修改配置文件了。
vim /etc/mysql/mysql.conf.d/mysqld.cnf
把bind-address = 127.0.0.1改成0.0.0.0,没有bind-address就直接加上
bind-address=0.0.0.0
2.允许所有用户远程登录
- 登录mysql数据库
一定要加sudo,不加登不进去的。sudo mysql -u[用户名] -p[密码]
- 修改 root 的 host 属性为 %
use mysql; select host, user from user; update user set host = '%' where user = 'root';
3. 出现1698- access denied for user ‘root’@‘ip’
原因可能是因为MySQL默认使用了UNIX auth_socket plugin插件。
简单来说这意味着当db_users使用数据库时,将会通过系统用户认证表进行认证。
- 在服务器的mysql上执行
SELECT User, Host, plugin FROM mysql.user;
+------------------+-----------------------+
| User | plugin |
+------------------+-----------------------+
| root | auth_socket |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+
root用户在使用 auth_socket 插件。
解决方法:
- 可以设置你的root用户使用 mysql_native_password 插件
USE mysql;
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
exit;
或者
- 用你的操作系统用户名代替YOUR_SYSTEM_USER
USE mysql;
CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED BY '';
GRANT ALL PRIVILEGES ON *.* TO 'YOUR_SYSTEM_USER'@'localhost';
UPDATE user SET plugin='auth_socket' WHERE User='YOUR_SYSTEM_USER';
FLUSH PRIVILEGES;
exit;
选一种就好了。
重启数据库2
sudo mysql restart
二.字体问题
找到Navicat文件
sudo vim start_navicat
把export LANG=“en_US.UTF-8” 将这句话改为 export LANG=“zh_CN.UTF-8”
这还不能解决所有的乱码问题。
进去Navicat,点开工具:
把这几处的字体改为[Noto Sans mono CJK SC Regular3
基本上字体问题都已解决!
三.破解问题
到~目录下,使用
ls -lh
删除.navicat文件4
注意:此种破解方式的缺点在于 删除日志文件后, navicat各种设置(比如字符设置)会被清空
才疏学浅,望雅正!