一、MySQL
1、安装MySQL
- 安装命令
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
- 检验
sudo netstat -tap | grep mysql
通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
- 登录
mysql -u root -p
-u
表示选择登陆的用户名, -p
表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
2、报错与解决方案
Q:ERROR1698(28000):Access denied for user root@localhost
原因:安装数据库,在安装的过程中未设置密码。在连接数据库,由于没有设置密码,所以在需要输入密码的时候,直接按了Enter键,导致该错误的出现。
解决方法1:使用sudo权限(不推荐)
sudo mysql -u root -p
解决方法2:设置密码(推荐)
步骤一:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
定位到 [mysqld]
添加 skip-grant-tables
如下所示,这样可以不用密码登录进去mysql。
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
skip-grant-tables
保存并重启mysql
## 重启mysql
service mysql restart
步骤二:修改密码
在shell中输入:mysql -u root -p
并回车,进入mysql修改密码
use mysql;
update user set authentication_string=password("自定义password") where user="root";
flush privileges;
quit;
步骤三:再次修改 mysqld.cnf 文件
参见步骤一,修改如下:注释掉 skip-grant-tables
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
# skip-grant-tables
3、删除MySQL
删除 mysql
sudo apt-get autoremove --purge mysql-server-5.7
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
## 重要
sudo apt-get remove mysql-common
清理残留数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
二、navicat
1、安装
官网:https://www.navicat.com.cn/download/navicat-for-mysql
选择适合的版本下载,本文环境是Ubuntu 64bit。
下载并解压
tar -zxvf navicat121_mysql_cs_x64.tar.gz
并进入解压后的目录运行以下命令:
cd navicat121_mysql_cs_x64
./start_navicat
2、解决乱码问题
- 将安装目录下的
start_navicat
文件中的字符集改为zh_CN.UTF-8
- 打开乱码的界面,选择菜单栏工具Tool,下拉菜单中选择最后一个,打开为选项。
- “常规” “编辑器” “记录” 三个选项里都有字体设置,在右边下拉框中选择
Noto Sans mono CJK SC Regular
,注:下拉框中看不到,则利用上下键选择。
- 重启,最终结果