在线安装就很简单了,终端执行如下命令:
sudo apt-get install mysql-server -y # 此步会提示设置mysql密码
sudo apt install mysql-client -y
sudo apt install libmysqlclient-dev -y
输入如下命令进行检验是否安装mysql成功
sudo netstat -tap | grep mysql
如果没有网,离线安装如下:
官网下载mysql:https://dev.mysql.com/downloads/mysql/选择对应的版本,上面是Ubuntu20.04的,若Ubuntu16.04则下载Ubuntu16.04,点下载后跳转到如下页面,不必登录,选’No thanks, just start my download’ 直接下载!
将下载好的mysql-server_8.0.20-2ubuntu20.04_amd64.deb-bundle.tar文件,放到Ubuntu里某目录下(如home/user/ProgramFiles/mysql/ 或 usr/local/),解压
法1:右键解压
法2:tar -xf mysql-server_8.0.20-2ubuntu20.04_amd64.deb-bundle.tar
注意:tar -xf
或 tar -xvf
解压.tar打包文件, tar -xzvf
解压 .tar.gz打包压缩文件。z
命令表压缩。
解压后如下:
解压后会比Ubuntu20.04版多一个 mysql-community-client-plugins_8.0.22-1ubuntu16.04_amd64.deb
文件。
sudo dpkg -i mysql-community-client-core_8.0.20-2ubuntu20.04_amd64.deb
sudo dpkg -i mysql-common_8.0.20-2ubuntu20.04_amd64.deb
sudo dpkg -i mysql-community-client_8.0.20-2ubuntu20.04_amd64.deb
sudo dpkg -i libmysqlclient21_8.0.20-2ubuntu20.04_amd64.deb
sudo dpkg -i libmysqlclient-dev_8.0.20-2ubuntu20.04_amd64.deb
sudo dpkg -i mysql-client_8.0.20-2ubuntu20.04_amd64.deb
sudo dpkg -i mysql-community-server-core_8.0.20-2ubuntu20.04_amd64.deb
会提示缺失 libaio1和libmecab2包,如下:
故我们安装这两个包,可以下载好这两个离线包再安装,因为在线装有时会出错。
(干货)直接下载链接(建议:迅雷下载要快些!):
Ubuntu 20.04:
http://archive.ubuntu.com/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-5_amd64.deb
http://archive.ubuntu.com/ubuntu/pool/main/m/mecab/libmecab2_0.996-10build1_amd64.deb
Ubuntu16.04:
http://archive.ubuntu.com/ubuntu/pool/main/liba/libaio/libaio1_0.3.110-2_amd64.deb
http://archive.ubuntu.com/ubuntu/pool/universe/m/mecab/libmecab2_0.996-1.2ubuntu1_amd64.deb
或者不闲麻烦的可以由下面的下载链接选择版本再下载:
https://pkgs.org/download/libaio1
https://pkgs.org/download/libmecab2,
如下:选择好对应的版本
下载完成,放到Ubuntu某目录下,安装这两个缺失的包。
sudo dpkg -i libaio1_0.3.112-5_amd64.deb
sudo dpkg -i libmecab2_0.996-10build1_amd64.deb
sudo dpkg -i mysql-community-server-core_8.0.20-2ubuntu20.04_amd64.deb
sudo dpkg -i mysql-community-server_8.0.20-2ubuntu20.04_amd64.deb
此命令执行后会弹出窗口让你设置MySQL密码,假设密码也设置为root
,设置完成后选择5.X的加密方式。 之后如下:
(4)最后,安装
sudo dpkg -i mysql-server_8.0.20-2ubuntu20.04_amd64.deb
在安装其他.deb包之前,先安装比Ubuntu20.04版多出来的一个 mysql-community-client-plugins_8.0.22-1ubuntu16.04_amd64.deb
文件,其他步骤都相同。
最后,执行sudo service mysql restart
重启mysql,输入开机密码,
再执行mysql -uroot -p
登录即可使用,输入刚才设置的mysql密码root
,即可登录使用了,如下:
注:mysql -u root -p
这里 u指user,p指password,也可直接输入密码,如root用户的密码假设也为root,输入
mysql -u root -p root
或 mysql -uroot -proot
即可登录!
建新库dev2:执行CREATE DATABASE IF NOT EXISTS dev2;
或 CREATE DATABASE dev2;
下面就可以连接mysql了,
# coding: utf8
import MySQLdb
db = MySQLdb.connect(
host = '127.0.0.1',
port = 3306,
user = 'root',
passwd = 'root',
db = 'dev2',
charset = 'utf8mb4',
)
# 查询
with db.cursor() as cur:
sql = 'show tables;'
cur.execute(sql)
res = cur.fetchone()[0] # 取出一条数据
res = cur.fetchall() # 取出多条数据
# 插入。-- 插入时若出现异常要回滚
try:
with db.cursor() as cur:
sql1 = '自己遍写一个插入的sql'
sql2 = '自己遍写一个插入的sql'
cur.execute(sql1)
# 注:cur.executemany()为批量处理,适用于执行insert多条数据的sql
cur.execute(sql2)
db.commit()
except Exception as e:
# 发生错误时回滚
db.rollback()
print('Error! Error info: %s' %e)
else:
print('Success!')
(i)下载Ubuntu版navicat
中文版 http://www.navicat.com.cn/download/navicat-for-mysql
英文版 https://www.navicat.com/en/download/navicat-premium#lin
选择Ubuntu(Linux)版Navicat下载,如下:
毕竟官方软件,浏览器下载很慢,用迅雷吧!能快点
将下载的navicat15-premium-en.AppImage文件放到某一目录下,双击该文件(或者执行 ./navicat15-premium-en.AppImage
命令)即可安装Navicat
(ii)打开navicat
如上图,点击左上角Connection图标之后在弹出的窗口输入链接信息,其中。
Connection Name:随便写,自定义
Host:链接本地的话一定不要填localhost会报错,要填
127.0.0.1
Port:默认3306
User Name:默认root
用户即可
Password:填你之前设置的密码,我密码设置的是root
说明:Linux版的navicat,如果14天的试用期到了,可以卸载清空数据重装。最简单的操作是:
rm ~/.config/dconf/user
即可重置试用期。
有时还需要再删除 /home/{你的用户名}/.config/navicat
文件夹(不同Linux系统版本,也可能是/home/{你的用户名}/.navicat
文件夹)
注意:用别的电脑访问这一台上的mysql时,需要设置mysql的权限。
所以解决方法如下:
法1。 改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从"localhost"改称"%"
mysql>use mysql;
mysql>update user set host = '%' where user = 'root' and host='localhost';
mysql>select host, user from user;
需要重启MySQL服务。 或 再执行 执行一个语句 mysql>FLUSH PRIVILEGES
使修改生效.就可以了
法2. 授权法。
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
打开终端执行如下命令:
sudo apt purge mysql-*
sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
sudo apt autoclean
# 接着,再用以下命令查看安装的mysql有哪些依赖包
dpkg --list | grep mysql
# 依次执行以下命令
sudo apt-get remove mysql-common
sudo apt-get autoremove --purge mysql-server-5.0# 卸载 MySQL 5.x 使用, 非5.x版本可跳过该步骤
sudo apt-get autoremove --purge mysql-server
# 然后再查看一下依赖包
dpkg --list | grep mysql
# 最后用下面命令清除残留数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
# 查看安装的软件列表, 执行后没有显示列表, 证明MySQL服务已完全卸载
dpkg -l | grep mysql | grep i