一 、环境
系统版本:Ubuntu 16.04.6 LTS
mysql版本:MySQL 5.7
二、安装
- 获取 mysql 安装包
wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb
执行完成后,可以看到 mysql-apt-config_0.8.1-1_all.deb
文件已经在当前目录中
2. 安装配置包
sudo dpkg -i mysql-apt-config_0.8.1-1_all.deb
执行安装命令后,需要选择 mysql
的版本,这里我们选择 mysql-5.7
,然后选择Ok
回车即可
3. 更新索引
sudo apt-get update
更新索引会碰到如下错误,如果没有报错,可以跳过至下一步
W: GPG error: http://repo.mysql.com/apt/ubuntu xenial InRelease: The following signatures were invalid: KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 KEYEXPIRED 1487236823
解决方法如下
1)先查看key
,执行命令:apt-key list
/etc/apt/trusted.gpg
--------------------
pub 1024D/437D05B5 2004-09-12
uid Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>
sub 2048g/79164387 2004-09-12
pub 4096R/C0B21F32 2012-05-11
uid Ubuntu Archive Automatic Signing Key (2012) <ftpmaster@ubuntu.com>
pub 4096R/EFE21092 2012-05-11
uid Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>
pub 1024D/FBB75451 2004-12-30
uid Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>
pub 1024D/5072E1F5 2003-02-03 [expired: 2017-02-16]
uid MySQL Release Engineering <mysql-build@oss.oracle.com>
2)删除mysql
的repository GPG key
,删除命令如下:
sudo apt-key del 5072E1F5
3)删除完了之后,检查还有没有那个mysql
的key
, 如果没有执行命令
apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5
输出如下信息
Executing: /tmp/tmp.NNzzzLW5hE/gpg.1.sh --keyserver
pgp.mit.edu
--recv-keys
A4A9406876FCBD3C456770C88C718D3B5072E1F5
gpg: requesting key 5072E1F5 from hkp server pgp.mit.edu
gpg: key 5072E1F5: public key "MySQL Release Engineering <mysql-build@oss.oracle.com>" imported
gpg: Total number processed: 1
gpg: imported: 1
gpg: no writable keyring found: eof
gpg: error reading `[stdin]': general error
gpg: import from `[stdin]' failed: general error
gpg: Total number processed: 0
完成后,再执行 sudo apt-get update
,发现已经没有错误
- 安装数据库
sudo apt-get install mysql-server
安装过程中需要设置 root
用户密码,输入密码后选择 Ok
回车即可
- 验证数据库是否安装成功
数据库安装成功后,正常情况下数据库是已启动状态,可以直接连接数据库
mysql -u root -p
show databases;
说明数据库安装成功!
三、配置数据库
mysql
启动、停止、重启服务命令如下,在后面配置数据库时,需要重启数据库服务
sudo /etc/init.d/mysql start
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql restart
- 设置数据库编码为
utf8
先查看数据库的编码集信息
show variables like 'character%';
使用 vim /etc/mysql/my.cnf
命令编辑配置文件,将以下内容添加到文件中
[client]
default_character_set=utf8
[mysql]
default_character_set=utf8
[mysqld]
character_set_server=utf8
保存退出后,通过sudo /etc/init.d/mysql restart
命令重启数据库服务,再次查看编码集可以看到已经全部修改为utf8
- 修改
root
用户的密码
登录mysql
后执行以下命令,其中root
为用户名,admin
即为新密码
set password for root@localhost = password('admin');
- 创建数据库
CREATE DATABASE IF NOT EXISTS first DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
- 创建用户并赋权
create user 'lzq'@'192.168.1.182' identified by '123456';
grant select,insert,update on first.* to 'lzq'@'192.168.1.182';
- 解除仅本机访问限制
此时192.168.1.182
机器客户端还无法连接数据库,需要修改 /etc/mysql/mysql.conf.d 配置文件,注释或删除这行代码,使得其它机器可以访问数据库服务器
#bind-address = 127.0.0.1
保存修改后,重启mysql
服务器,此时192.168.1.182
客户端可以成功连接数据库!