1)基本配置安装
无法正确使用yum安装mysql 默认安装得是mariadb. 5.5 版本。 对等mysql
因为是分支,如果安装mysql 需要配置yum仓库 .需安装一个包文件。
rpm文件下载地址https://dev.mysql.com/downloads/repo/yum/
image
选择自己的版本。。这里需要注册一个Oracle账号,随便写。。

Mysql 的yum源仓库
安装mysql仓库
这个安装完成后,会在/etc/yum.repos.d目录下多出两个文件
mysql-community.repo mysql-community-source.repo
rpm -ivh mysql57-community-release-el7-11.noarch.rpm

[root@emporer ~]# ls -l /etc/yum.repos.d/
总用量 56
-rw-r--r--. 1 root root 1664 7月   8 2022 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 7月   8 2022 CentOS-CR.repo
-rw-r--r--. 1 root root  649 7月   8 2022 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 7月   8 2022 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 7月   8 2022 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 7月   8 2022 CentOS-Sources.repo
-rw-r--r--. 1 root root 8515 7月   8 2022 CentOS-Vault.repo
-rw-r--r--. 1 root root  616 7月   8 2022 CentOS-x86_64-kernel.repo
-rw-r--r--  1 root root 1358 9月   5 2021 epel.repo
-rw-r--r--  1 root root 1457 9月   5 2021 epel-testing.repo
-rw-r--r--  1 root root 2076 3月   8 09:55 mysql-community.repo
-rw-r--r--  1 root root 2108 4月  25 2019 mysql-community-source.repo
[root@emporer ~]# 

如果想装其他版本,可以关闭mysql5.7仓库,启用所安装版本的仓库
你要安装5.6的版本,你可以如下操作方式
example
#yum-config-manager --disable mysql57-community //关闭5.7
#yum-config-manager --enable mysql56-community //启用5.6
可启用的版本还包括mysql55 mysql80
直接更改repo文件 开启5.7,关闭gpg校验

# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

就可以使用 yum -y install mysql.
yum install -y mysql-community-server.x86_64 安装mysql.

[root@emporer yum.repos.d]# mysql --version
mysql  Ver 14.14 Distrib 5.7.41, for Linux (x86_64) using  EditLine wrapper

安装好mysql后默认密码在。/var/log/mysqld.log |grep password中,第一次登陆需要更改
自己的虚拟机随便看密码。。哈哈哈

[root@emporer /]# systemctl start mysqld
[root@emporer /]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 三 2023-03-08 10:06:28 CST; 4s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 1978 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 1928 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 1982 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─1982 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

3月 08 10:06:24 emporer systemd[1]: Starting MySQL Server...
3月 08 10:06:28 emporer systemd[1]: Started MySQL Server.
[root@emporer /]# cat /var/log/mysqld.log |grep password
2023-03-08T02:06:25.146485Z 1 [Note] A temporary password is generated for root@localhost: I4<y8#dyKtF!

需手动启动服务。Service mysql start。
进入mysql交互命令窗口,运行如下命令

mysql> alter   user 'root'@'localhost' identified by 'REDhat@123' ;
Query OK, 0 rows affected (0.00 sec)

alter user ‘root’@‘localhost’ identified by ‘Redhat@123’ 密码使用大小写+数字+符号。

更改密码: alter user ‘root’@’localhost’ identified by REDhat@123‘

首次登录需修改密码。Mysql -uroot -p
2)基本配置:
可使用 :mysql –help |grep -B 1 my.cnf 查看到配置文件

[root@emporer /]# mysql --help |grep -B 1 my.cnf
  -P, --port=#        Port number to use for connection or 0 for default to, in
                      order of preference, my.cnf, $MYSQL_TCP_PORT,
--
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 
[root@emporer /]# 

配置文件: 配置文件优先级: /etc/my.cnf > /etc/mysql/my.cnf > /usr/etc/my.cnf > ~/my.cnf

查看配置文件/etc/my.cnf 解析:

datadir=/var/lib/mysql  //默认数据存放路径
socket=/var/lib/mysql/mysql.sock //交互通信
symbolic-links=0 //允许存放数据存放在其它目录
max_connections=10000 //最大连接数  数据高并发,可适当调整
port=3306 //监听端口
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/lib/mysql/mysql.sock

mysql 权限配置
mysql -uroot -pREDhat@123 mysql -Bse “desc user;” |grep _priv |awk ‘{print $1}’ |sed -e ‘s/_priv//’

[root@emporer /]# mysql -uroot -pREDhat@123 mysql -Bse "desc user;" |grep _priv |awk '{print $1}' |sed -e  's/_priv//'
mysql: [Warning] Using a password on the command line interface can be insecure.
Select
Insert
Update
Delete
Create
Drop
Reload
Shutdown
Process
File
Grant
References
Index
Alter
Show_db
Super
Create_tmp_table
Lock_tables
Execute
Repl_slave
Repl_client
Create_view
Show_view
Create_routine
Alter_routine
Create_user
Event
Trigger
Create_tablespace

对于新建用户并赋权。
权限赋权例子(在mysql交互窗口中运行),格式如下:
Mysql>grant A on B to ‘C′@’D’ identified by ‘E′;
1、A的值可以是之前查出来的任意一个权限或组合,比如
select 或select,delete,update,insert或 All privileges
2、B的值对应的数据库或某个库下的某个表,比如
test.* 或test.table1 或*.*
3、C的值是新建的mysql账号的名字,比如dbuser_zs或其他你自己定义的名字
4、D的值是对应的客户端Ip地址或模糊匹配的地址,比如
192.168.31.129 或192.168.31.%
5、E的值是对新建的账号设置的密码
新建test用户附有可查看权限。并指定在172.19.22.0 这个网段登录。密码为LIUde123.
Grant select on msql.* to ‘test’@’172.19.22.%’ identified by ‘LIUde123.’;
查看新建用户的权限 show grants for ‘test’@’172.19.22.%’;
新增权限: grant 权限 on 库表 to 用户@网段 ;
回收权限: revoke 回收权限 on 库表 from 用户网段;
删除用户:drop user 用户@网段。
存储引擎: innodb 默认存储引擎。Mysql 特有 可拔插得。
INNODB


mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)

基本操作
查看数据库: show databases;
切换数据库: use mysql
查看用户密码登录选项:select user,host,authentication_string from user;
查看权限: desc user;
新建tset库: create databases test;
查看库下得表 : show tables;
删除test库: drop database test;
查看数据库目录: show variables like ‘%datadir%’ ;
查看表结构,show create table 表名。
删除表 :drop table 表名
删除表内容: delete from 表名,
新建表:

mysql> SHOW VARIABLES LIKE '%datadir%';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.01 sec)


数据库调用系统命令;数据库下需要运行linxu命令 加system : 例: system ls /var/lib/mysql
新建库得存放目录也是再此
;类似挂载 :在原linux中删除这个库mysql数据库中也会没有该数据库显示。如果在linux下的数据库存放目录创建目录也会数据库中新建库但是所属组和所有者不属于mysql;权限不一致;mysql进程属于mysql,不属于其他。

mysql> system ls /var/lib/mysql
auto.cnf    ca.pem           client-key.pem  ibdata1      ib_logfile1  mysql       mysql.sock.lock     private_key.pem  server-cert.pem  sys
ca-key.pem  client-cert.pem  ib_buffer_pool  ib_logfile0  ibtmp1       mysql.sock  performance_schema  public_key.pem   server-key.pem
mysql> create database test;
Query OK, 1 row affected (0.00 sec)

mysql> system ls /var/lib/mysql
auto.cnf    ca.pem           client-key.pem  ibdata1      ib_logfile1  mysql       mysql.sock.lock     private_key.pem  server-cert.pem  sys
ca-key.pem  client-cert.pem  ib_buffer_pool  ib_logfile0  ibtmp1       mysql.sock  performance_schema  public_key.pem   server-key.pem   test

使用sql语句新建表;
切换库, 执行source demo.sql 语句新建表

Mysql 命令补全可修改/etc/my.cnf 添加:auto-rehash 补全不能全部命令补全。常见命令补全。
插入:
insert into t2(id,name) values(1,‘name1’); 插入t2这张表。Id为1 name为name1; update t2 set name=‘name1-1’ where id=1; 更新t2这张表中 id为1 得数据为name1-1
delete from t2 where id=2; 删除t2这张表中,id为2的 where 表示条件。
注意:删除跟更新也有一样的问题,如果后面没加where条件,那删除掉也将是整个表
数据存放目录: /var/lib/mysql/

文章作者: emporer
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Emporer-Linux
linux linux mysql
喜欢就支持一下吧