MySQL安装
服务器端安装
- 安装mysql服务端
安装:sudo apt-get install mysql-server
- 命令管理:服务器的开、关、重启、查看
开:sudo service mysql start
关:sudo service mysql stop
重启:sudo service mysql restart
查看进程:
linux命令:
ps -aux | grep 'mysql'
(ps: process 进程)
配置服务端
- 进入配置文件
cd /etc/mysql/mysql.conf.d
ls
vim mysqld.cnf
- 修改主要配置项:
bind-address表示服务器绑定的ip,默认为127.0.0.1
port表示端口,默认为3306
datadir表示数据库目录,默认为/var/lib/mysql
general_log_file表示普通日志,默认为/var/log/mysql/mysql.log
log_error表示错误日志,默认为/var/log/mysql/error.log
命令行客户端
- 在终端运行如下命令,按提示填写信息
sudo apt-get install mysql-client
- 详细连接的命令可以查看帮助文档
mysql --help
- 最基本的连接命令如下,输入后回车
mysql -u root(帐号) -pmysql(密码)
- 按ctrl+d或输入如下命令退出
quit 或者 exit
配置mysql远程登录
修改配置文件,注释掉bind-address = 127.0.0.1
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
保存退出,然后进入mysql服务,执行授权命令:
$ mysql -uroot -p
mysql> grant all on *.* to root@'%' identified by '123456' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
$ sudo /etc/init.d/mysql restart
如下图,出现图中bug无法进入mysql时,具体bug解决方法下文有具体说明!
服务器端安装
- 安装服务器端:在终端中输入如下命令,回车后,然后按照提示输入
sudo apt-get install mysql-server
- 启动服务
sudo service mysql start
- 查看进程中是否存在mysql服务
ps ajx|grep mysql
- 停止服务
sudo service mysql stop
- 重启服务
sudo service mysql restart
配置服务端 (了解)
- 配置文件目录为/etc/mysql/mysql.cnf
- 进入conf.d目录,打开mysql.cnf,查看配置文件
- 进入mysql.conf.d目录,打开mysqld.cnf,查看配置文件
- 主要配置项如下
bind-address表示服务器绑定的ip,默认为127.0.0.1
port表示端口,默认为3306
datadir表示数据库目录,默认为/var/lib/mysql
general_log_file表示普通日志,默认为/var/log/mysql/mysql.log
log_error表示错误日志,默认为/var/log/mysql/error.log
客户端
客户端为开发人员与DBA(数据库管理员)使用,通过socket方式与服务端通信,常用的有navicat客户端、命令行mysql客户端等
命令行客户端
- 在终端运行如下命令,按提示填写信息
sudo apt-get install mysql-client
- 详细连接的命令可以查看帮助文档
mysql --help
- 最基本的连接命令如下,输入后回车
mysql -u root(帐号) -pmysql(密码)
- 连接成功后提示如下图
- 按ctrl+d或输入如下命令退出
quit 或者 exit
Ubuntu18.04安装mysql5.7
安装
首先执行下面三条命令:
# 安装mysql服务
sudo apt-get install mysql-server
# 安装客户端
sudo apt install mysql-client
# 安装依赖
sudo apt install libmysqlclient-dev
# 检查状态
sudo netstat -tap | grep mysql
设置root密码
mysql5.7安装完成后普通用户不能进mysql
原因:root的plugin被修改成了auth_socket,用密码登陆的plugin应该是mysql_native_password,直接用root权限登录就不用密码,修改root密码和登录验证方式:
$ sudo su
root@ubuntu:/home/python# mysql
mysql>
mysql> select user, plugin from mysql.user;
+------------------+-----------------------+
| user | plugin |
+------------------+-----------------------+
| root | auth_socket |
| mysql.session | mysql_native_password |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+
4 rows in set (0.00 sec)
mysql> update mysql.user set authentication_string=PASSWORD('123456'), plugin='mysql_native_password' where user='root';
mysql> flush privileges;
mysql> exit
Bye
root@ubuntu:/home/python# exit
重启后MySQL,进入就需要密码验证了,密码就是上面设置的123456
$ sudo /etc/init.d/mysql restart
$ mysql -uroot -p123456
成功进入mysql
图形化界面客户端navicat
可以到Navicat官网https://www.navicat.com.cn/下载
- 将压缩文件拷贝到ubuntu虚拟机中,放到桌面上,解压
tar zxvf navicat112_mysql_cs_x64.tar.gz
- 进入解压的目录,运行如下命令
cd ./start_navicat
- 启动如下图,详细功能见下节
- 点击两次“取消”按钮后如下图
- 点击“试用”按钮后如下图
- 问题一:中文乱码
解决:打开start_navicat文件
将export LANG="en_US.UTF-8"改为export LANG="zh_CN.UTF-8"
- 问题二:试用期
解决:删除用户目录下的.navicat64目录
cd ~
rm -r .navicat64
配置mysql远程登录
# 修改配置文件,注释掉bind-address = 127.0.0.1
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
# 保存退出,然后进入mysql服务,执行授权命令:
$ mysql -uroot -p
mysql> grant all on *.* to root@'%' identified by '123456' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
$ sudo /etc/init.d/mysql restart
Navicat图形界面工具操作
- 连接服务端 : 用户名,密码 ,数据库服务器主机的ip地址
- 创建数据库 : 字符集, 排序
- 创建表(字段,类型与约束): t_employee(id,name,age)
- 添加记录,删除记录,修改记录
Navicat连接服务端(了解)
- 打开navicat,点击工具栏的“连接”,选择“mysql”,弹出窗口如下图
- 在弹出的窗口中填写名称、主机ip、端口、用户名、密码,如下图
- 密码为mysql
- 点击确定,在左侧栏会看到刚才填写的名称,双击打开连接,如下图
数据库操作
创建数据库
- 在左侧栏空白处右击,选择“新建数据库”,点击
- 点击后弹出新窗口,填写数据库名称并选择语言如下图
- 填写完成后点击“确定”创建数据库,在左侧会出现刚才创建的数据库,双击打开
编辑数据库 - 在左侧栏数据库上右击,弹出菜单,如下图
- 选择“编辑数据库”,可以修改字符集、排序规则,如下图
- 选择“转储sql文件”,可以完成结构和数据的备份,如下图:
- 选择“删除数据库”,可以将数据库删除
数据库操作
创建数据表
- 点击工具栏“表”,在第二行显示关于表的命令,点击“创建表”
- 弹出新窗口,按照上节的设计,创建班级表,填写各字段,选择相应的类型
- 对于id字段,需要设置为int类型,无符号,自动增长,主键,非空
- 对于字符串类型,必须指定包含字符个数,还需要指定字符集、排序规则,默认与数据库的一致
- datetime的默认值可以设置成now(),也可以是一个具体值,如’2000-1-1’
- 按照同样的方式创建学生表students
编辑数据表 - 选择一张表后,工具栏的第二行“打开表”、“设计表”、“删除表”都变的可用
- 打开表会查看表的当前数据,可以在这个窗口中增加、修改、删除数据
- 设计表和创建表的窗口一样,可以增加、修改、删除字段,或编辑字段的类型、约束
- 删除表会将表物理删除
数据操作
查看数据
- 双击表,或者选择表后,点击工具栏第二行的“打开表”,可以查看表的数据
增加数据 - 默认没有数据,可以在对应的列中填写数据,点击底部的对勾完成添加
- 注意:自动增长的主键列不需要填写值
- 如果需要继续添加数据,点击询问的加号,会出现一个新的空白行,填写数据即可
修改数据 - 点击某个单元格,即可编辑值,修改完后,点击底部的勾生效
删除数据 - 点击某个单元格,再点击询问的减号,可以删除
- 说明:对于重要数据,推荐将isdelete属性改为1,而不是进行物理删除