同步个人博客:ubuntu16.04安装mysql5.7.24
参考本人CSDN博客上写的文章: 64位centos6.7安装mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz
官网: http://dev.mysql.com/downloads/mysql/
mysql搜狐镜像站:
http://mirrors.sohu.com/mysql/
mkdir ~/soft/
cd ~/soft/
wget -c http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
安装mysql前先安装所需依赖:
sudo apt-get install libmysqlclient-dev python3-dev
sudo groupdel mysql
sudo userdel mysql
sudo groupadd mysql
sudo useradd -g mysql -d /home/mysql -m mysql
sudo mkdir -p /home/mysql/data
tar -xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
cd ~/soft/mysql-5.7.24-linux-glibc2.12-x86_64/
sudo mv * /home/mysql
cd /home/mysql
./bin/mysqld --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data --initialize
在上面命令执行完后, 牢记最后一行打印信息的随机密码, 如上**mjT,#x_5sW
, 下面我们修改密码时需要用到。
vim /home/mysql/support-files/mysql.server
#########修改basedir和datadir==========
basedir=/home/mysql
datadir=/home/mysql/data
############end############
sudo ln -s /home/mysql/bin/mysql /usr/bin/mysql
若存在/etc/my.cnf
, 将默认生成的my.cnf备份:
sudo mv /etc/my.cnf /etc/my.cnf.bak
创建配置文件:
sudo vim /etc/my.cnf
/etc/my.cnf
配置文件内容如下:
[mysqld]
basedir = /home/mysql
datadir = /home/mysql/data
character_set_server=utf8
init_connect='SET NAMES utf8'
socket=/home/mysql/mysql.sock
[client]
default-character-set=utf8
socket=/home/mysql/mysql.sock
sudo cp /home/mysql/support-files/mysql.server /etc/init.d/mysqld
sudo chmod 755 /etc/init.d/mysqld
systemctl enable mysqld
systemctl start mysqld
sudo lsof -i:3306
通过mysqladmin
命令来修改root密码, 原密码为mysqld --initialize
时牢记下的随机密码, 并检测mysql编码集是否为utf-8, 如下:
cd /home/mysql
$ ./bin/mysqladmin -u root -p password
Enter password:
New password:
Confirm new password:
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.24 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> \s
--------------
mysql Ver 14.14 Distrib 5.7.24, for linux-glibc2.12 (x86_64) using EditLine wrapper
Connection id: 3
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: less
Using outfile: ''
Using delimiter: ;
Server version: 5.7.24 MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /tmp/mysql.sock
Uptime: 3 min 18 sec
Threads: 1 Questions: 9 Slow queries: 0 Opens: 106 Flush tables: 1 Open tables: 99 Queries per second avg: 0.045
--------------
mysql> show variables like "%char%";
+--------------------------+-----------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /home/mysql/share/charsets/ |
+--------------------------+-----------------------------+
8 rows in set (0.00 sec)
mysql>
p.s. 非root用户在执行以下命令前要加sudo
启动mysql服务: systemctl start mysqld
停止mysql服务: systemctl stop mysqld
重启mysql服务: systemctl restart mysqld
查看mysql服务状态: systemctl status mysqld
or lsof -i:3306