共计 3691 个字符,预计需要花费 10 分钟才能阅读完成。
导读 | mysql 安装方式主要用 yum、rpm、编译、二进制。yum 和 rpm 安装方式类似,安装速度快,yum 更能解决安装过程中的依赖包问题;编译安装时间长,但此安装方式能根据自己的环境定制安装选项功能模块;二进制安装安装速度快,可以指定常见参数设置,生产中比较常用。 |
本次常用编译安装,其他几种方式后续介绍。
第一步、安装:
准备软件包
yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake
编译
[root@server182 ~]# groupadd mysql
[root@server182 ~]# useradd -r -g mysql mysql
[root@server182 ~]# tar -zxvf mysql-5.6.10.tar.gz
[root@server182 ~]# cd mysql-5.6.10
[root@server182 mysql-5.6.10]# cmake .
[root@server182 mysql-5.6.10]# make && make install ------------------------- 默认情况下是安装在 /usr/local/mysql
[root@server182 ~]# chown -R mysql.mysql /usr/local/mysql
[root@server182 ~]# cd /usr/local/mysql/scripts
[root@server182 ~]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@server182 ~]# cd /usr/local/mysql/support-files
[root@server182 ~]#/usr/local/mysql/bin/mysqld_safe &
[root@server182 support-files]# cp mysql.server /etc/rc.d/init.d/mysql
[root@server182 support-files]# cp my-default.cnf /etc/my.cnf
第 2 步、设置开机启动
[root@stonex ~]# chkconfig mysqld on
第 3 步、启动 MySql 服务
[root@stonex ~]# service mysqld start
第 4 步、设置 MySQL 的 root 用户设置口令
[root@stonex ~]# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
...... 省略了一些行
mysql> select user,host,password from mysql.user;
查询用户的口令,都为空,用下面的命令设置 root 的口令为 root
mysql> set password for root@localhost=password('root');
mysql> exit
第 5 步、用新口令登陆
[root@stonex ~]# mysql -u root -p
第 6 步、基本命令
show databases; // 查看系统已存在的数据库
use databasesname; // 选择需要使用的数据库
drop database databasename; // 删除选定的数据库
exit // 退出数据库的连接
create database test01; // 建立名为 test 的数据库
show tables; // 列出当前数据库下的表
其他基本的增删改查使用标准 SQL 即可
第 7 步、开放远程登录权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; // 允许所有主机以 root 登陆 , 并允许提权权限
FLUSH PRIVILEGES; // 刷新权限
GRANT ALL ON zabbix.* TO 'zabbix'@'10.4.0.52' IDENTIFIED BY 'zabbix'; // 允许主机 10.4.0.52 以 zabbix 连接数据库 zabbix
grant all privileges on zabbix.* to zabbix@10.4.0.53 identified by 'zabbix';
create database zabbix character set utf8 collate utf8_bin; // 创建数据库 zabbix
第 8 步、mysql 常用命令
mysql> use test;
mysql> show tables;
mysql> describe user; // 查看表内容
------------ 查询命令 ----------
SELECT 字段 1,字段名 2 FROM 表名 WHERE 条件表达式
mysql> SELECT user,host,password FROM mysql.user WHERE user='';
mysql> select * from users;
---------- 新增命令 -----------
CREATE TABLE 表名(字段 1 名称 类型,字段二名称 类型,PRIMARY KEY(主键名)
mysql>CREATE DATABASE benet; 创建
mysql>use benet;
mysql> CREATE TABLE users (user_name CHAR(16) NOT NULL, user_passwd CHAR(48) DEFAULT '', PRIMARY KEY (user_name));
都是 SQL 基本语句。插入数据 INSERT INTO 表名(字段 1,字段 2)VALUES(字段 1 的值,字段 2 的值)
mysql> INSERT INTO users(user_name,user_passwd) VALUES('zhangsan', PASSWORD('123456'));
mysql> INSERT INTO users VALUES('lisi', PASSWORD('654321'));
———— 删除命令 ————–
DROP TABLE 删除一个数据表 需要指定 库名和表名
DROP DATABASE 删除一个数据库
DELETE FROM 表名 WHERE 条件表达式 删除数据记录
mysql> DELETE FROM users WHERE user='lisi';
mysql> DROP TABLE users;
mysql> DROP DATABASE benet;
———- 更改命令 ———
UPDATE 表名 SET 字段名 1 = 字段值 1 WHERE 条件表达式
mysql> UPDATE users SET user_passwd=PASSWORD('abc123') WHERE user_name='lisi';
mysql> UPDATE mysql.user SET password=PASSWORD('123456') WHERE user='root';
mysql>flush privileges; // 刷新授权信息
mysqladmin -u root -p password 'abc123'(新口令)要输入的是旧口令!mysql -u root -pabc123 // 登录
————— 授权命令 ——————-
GRANT 权限列表 ON 库名,表名 TO 用户名 @来源地址 IDENTIFIED BY 口令
mysql> GRANT select ON users TO 'tom'@'192.168.80.%' IDENTIFIED BY '123456';
// 新建 tom 用户口令设置为 123456,对其授权只能查询 users 表。mysql>flush privileges;
必须要刷新权限
mysql> SHOW GRANTS FOR 'tom'@'192.168.80.%';
mysql> REVOKE all ON user FROM 'helen'@'192.168.80.%';
————— 备份与恢复命令 ——————
Mysqldump 选项 库名 表名 1 表名 2 > / 备份路径 / 备份文件名 导出库中部分表
Mysqldump 选项 -- all-databases 库名 1 库名 2 > / 备份路径 / 备份文件名 备份所有数据库
mysqldump -u root -p --opt --all-databases > all-data.sql // 备份所有数据库
mysqldump -u root -p --database auth > auth.sql // 备份 auth 数据库
mysqldump -u root -p mysql user > mysql-user.sql // 备份 mysql 的 user 表
mysql>create database mysql; // 先建立 mysql 空库
mysql -u root -p mysql
正文完
星哥说事-微信公众号
![post-qrcode](https://www.xgss.net/wp-content/uploads/2023/07/二维码-微信公众号256x256.jpg)