编译安装Mysql5.7,并测试连接以及常用sql语句

1、源码编译安装MYSQL5.7,写出详细安装过程,同时授权远程客户端访问,模拟另外一台Windows客户端去访问,一台Linux客户端去访问。

1、上传mysql和boots包,并解压

boost官网:https://www.boost.org/users/download/
mysql官网:https://www.mysql.com/

wget https://sourceforge.net/projects/boost/files/boost/1.59.0/

rz mysql-5.7.21.tar.gz 
rz boost_1_59_0.tar.gz 
tar xf mysql-5.7.21.tar.gz 
tar xf boost_1_59_0.tar.gz 
mv boost_1_59_0 /data/boost

2、安装依赖

yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison

3、创建用户和组

useradd mysql -s /sbin/nologin -M
mkdir -p /data/mysql/data
chown -R mysql:mysql /data/mysql/ /data/mysql/data/

4、预编译

cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql/data \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/data/boost

#-DCMAKE_INSTALL_PREFIX=/data/mysql \ 		#Cmake预编译;
#-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \		#MYSQL Socket通信文件位置;
#-DMYSQL_DATADIR=/data/mysql/data \			#MYSQL数据存放路径;
#-DSYSCONFDIR=/etc \						#配置文件路径;
#-DMYSQL_USER=mysql \						#MYSQL运行用户;
#-DMYSQL_TCP_PORT=3306 \					#MYSQL监听端口;
#-DWITH_XTRADB_STORAGE_ENGINE=1 \			#开启xtradb引擎支持;
#-DWITH_INNOBASE_STORAGE_ENGINE=1 \			#开启innodb引擎支持;
#-DWITH_PARTITION_STORAGE_ENGINE=1 \		#开启partition引擎支持;
#-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \		#开启blackhole引擎支持;
#-DWITH_MYISAM_STORAGE_ENGINE=1 \			#开启MyISAM引擎支持;
#-DWITH_READLINE=1 \						#启用快捷键功能;
#-DENABLED_LOCAL_INFILE=1 \					#允许从本地导入数据;
#-DWITH_EXTRA_CHARSETS=1 \					#支持额外的字符集;
#-DDEFAULT_CHARSET=utf8 \					#默认字符集UTF-8;
#-DDEFAULT_COLLATION=utf8_general_ci \		#检验字符;
#-DEXTRA_CHARSETS=all \						#安装所有扩展字符集;
#-DWITH_BIG_TABLES=1 \						#将临时表存储在磁盘上;
#-DWITH_DEBUG=0 \							#禁止调试模式支持;
#-DDOWNLOAD_BOOST=1 \						#使用下载的boost
#-DWITH_BOOST=/data/boost					#依赖boost依赖位置目录

5、编译并安装

make 			#编译
make install	#安装

6、初始化并且设置启动命令

#mysql初始化
./mysqld --initialize --user=mysql --datadir=/data/mysql/data --basedir=/data/mysql
#设置启动命令
ln -s /data/mysql/bin/* /usr/bin/
#启动mysql
mysql -uroot -p
+f_b+#dsw2yC
#更新密码
mysql> alter user 'root'@'localhost' identified by '123456';
mysql> flush privileges;

mysql> show databases;
#创建用户并授权以及密码
mysql> grant all privileges on *.* to 'zabbix'@'192.168.142.%' identified by '123456' with grant option;

7、创建192.168.142.100的mariadb,并连接192.168.142.106的mysql5.7

yum install -y mariadb mariadb-server
systemctl start mariadb.service
[root@node1 ~]# mysql -uzabbix -h 192.168.142.106 -p123456
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.21 Source distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> 

测试本地navicat连接

编译安装Mysql5.7,并测试连接以及常用sql语句_第1张图片

编译安装Mysql5.7,并测试连接以及常用sql语句_第2张图片

2、写出MYSQL数据库命令行常见的SQL语句,至少30条以上。

1、show databases|tables;					#查询数据库|表
2、show master status;						#查询主库的状态	
3、show master logs;							#查询主库的日志
4、show variables like "%log_bin";			#通过变量查询主库的
5、show binlog events in "mysql-bin.000002"; #查询binlog进度
6、show status slave\G 						#查询从库状态
7、select host,user from table_name; 		#查询表内所有数据
8、select user(),current_date;				#查询用户和时间
9、select * from mysql,.user where user='root'\G #查看单个用户所有情况
10、select * from table_name;					#查询所有表
11、select database();						#查询当前使用的数据库
12、drop database database_name|drop talbe table_name;	#删除数据库
13、status;							#查看状态信息
14、use mysql						#切换数据库
15、update 表名 set 列名1=值1,列名2=值2,...,where 条件; 修改数据 (注意:不加where的话会删除表中所有数据)
16、delete from 表名  条件[where条件]  #删除数据  (注意:不加where的话会删除表中所有数据)
17、start slave;						#从库启动
18、flush privileges;				#刷新权限
19、desc table_name;					#查询表结构
20、create user 'zabbix'@'%' identified by '123456';  #创建用户并设置密码
21、create database database_name|table table_name;建库|建表
22、create table t1 (id varchar(20), name varchar(20), age varchar(20) );创建表t1 并且赋予表结构 id,name,age参数
23、set password=password('123456');更改密码
24、insert into 表名(列名1,列名2,...,列名n) values(值1,值2,...,值n);	#插入数据		(注意列名和值一一对应;如果表名后不给定列名则默认给出所有的值;除了数字类型,其他类型值需要用引号;)
25、grant replication slave,replication client on *.* to 'zabbix'@'%';	#授权创建的用户权限
26、grant all privileges on *.* to 'root'@localhost identified by '123456';			#授权给root@localhost用户所有权限并设置密码为123456
27、source /root/mysql.sql 			#导入sql文件
28、alter database 数据库名称 character set 字符集;
29、alter user 'root'@'localhost' identified by '123456';
30、change master to ,
master_host='192.168.142.100',
master_user='rep',
master_password='test@A123456',
master_log_file='localhost-bin.000001',
master_log_pos=154;
#从库连接主库的信息

你可能感兴趣的:(Mysql,Linux,运维,运维,linux,mysql)