1、安装包下载地址
ftp://ftp.mirrorservice.org/sites/ftp.mysql.com/Downloads/MySQL-5.7/
2、安装依赖包
yum -y install gcc gcc-devel gcc-c++ gcc-c++-devel autoconf* automake* zlib* libxml*ncurses-devel ncurses libgcrypt* libtool* cmake openssl openssl-devel bisonbison-devel perl-Data-Dumper boost boost-doc boost-devel ncurses-devel
3、创建mysql用户
useradd mysql
4、创建目录1
2
3
4mkdir -p /usr/local/mysql/conf
chown -R mysql:mysql /usr/local/mysql
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql
5、编译安装1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32tar zxf mysql-boost-5.7.22.tar.gz
cd mysql-5.7.22
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/usr/local/mysql/conf \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DMYSQL_USER=mysql \
-DWITH_SYSTEMD=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_DEBUG=0 \
-DMYSQL_MAINTAINER_MODE=0 \
-DWITH_SSL:STRING=bundled \
-DWITH_ZLIB:STRING=bundled \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=./boost
make
make install
6、配置启动文件
cp ./scripts/mysqld.service /usr/lib/systemd/system
7、配置环境变量
touch /etc/profile.d/mysql.sh添加内容1
2
3PATH=/usr/local/mysql/bin:$PATH
export PATH
source /etc/profile
8、初始化MySQL1/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
9、设置MySQL服务并启动MySQL1
2
3
4systemctl enable mysqld.service
systemctl daemon-reload
systemctl start mysqld.service
systemctl status mysqld.service
10、修改mysql密码
初始化后密码是空(如果不是空请到mysqld.log查看密码,或者mysql_secure_installation 修改密码)1
2
3
4mysql -u root -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
mysql> FLUSH PRIVILEGES;
mysql> exit;
11、防火墙开启MySQL的访问策略(如果您的防火墙已经关闭,本步骤可以忽略)1
2firewall-cmd--add-service=mysql --permanent
firewall-cmd--reload
12、开启远程登录1
2
3mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'admin123' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> exit;如果您要固定的客户端访问,把”%”修改成IP即可,例如,只允许192.168.1.1远程访问,GRANT ALL PRIVILEGES ON . TO ‘root‘@’192.168.1.1’ IDENTIFIED BY ‘admin123’ WITH GRANT OPTION;
13、基本使用
13.1 查看mysql版本1
2
3
4
5
6
7mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.22 |
+-----------+
1 row in set (0.00 sec)
13.2 创建数据库字符集utf8
mysql> create database lu charset utf8;
13.3 查看有哪些数据库1
2
3
4
5
6
7
8
9
10
11mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| lu |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
13.4 查看表1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+---------------------------+
|Tables_in_mysql|
+---------------------------+
|columns_priv|
|db|
|engine_cost|
|event|
|func|
|general_log|
|gtid_executed|
|help_category|
|help_keyword|
|help_relation|
|help_topic|
|innodb_index_stats|
|innodb_table_stats|
|ndb_binlog_index|
|plugin|
|proc|
|procs_priv|
|proxies_priv|
|server_cost|
|servers|
|slave_master_info|
|slave_relay_log_info|
|slave_worker_info|
|slow_log|
|tables_priv|
|time_zone|
|time_zone_leap_second|
|time_zone_name|
|time_zone_transition|
|time_zone_transition_type|
|user|
+---------------------------+
31 rows in set (0.00 sec)