/ 2019-09-09
产品的功能
用户的行为(热功能,热数据)
5.6.38
5.7.20
我们这个业务已经运行了4年了,一直用的5.6版本,非常稳定,所以说暂时没有打算升级。
答:刚去上家公司不到两年,交接的时候已经运行了2年多了,我接手的时候版本已经是5.6.38 ,应当是做过小版本的升级。
能。虽然我们生产中一直使用的5.6,但是我对5.7,8.0的新特性已经足够了解了。所以我完全能够胜任股公司的工作
[root@db01 bin]# /data/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
/data/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
[root@db01 bin]#
[root@db01 ~]# yum install -y libaio-devel
5.6 版本的初始化程序:
/data/mysql/scripts/mysql_install_db --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
初始化完成后:无密码和无安全策略的
5.7 版本的初始化程序:
(1)
/data/mysql/bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
(2)
/data/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
提示:5.7以后初始化命令变为bin/mysqld命令,提供了两种初始化方式
第一种初始化方式:开启临时密码和安全策略
第二种初始化方式和之前版本一样,是无密码无安全策略。
演示:
2019-04-03T03:40:15.595883Z 1 [Note] A temporary password is generated for root@localhost: **MWht)!4%sa,3**
安全策略?
密码的复杂度进行了要求,对于密码的过期时间设置了限制
5思路是看日志,日志行中[ERROR]的
以上问题是:已经启动了,在此启动会说文件占用
没启动,账号密码错误,IP 、port 、 socket,分配不了连接线程
关系型数据库中(MySQL,Oracle,MSSQL,DB2,PG):SQL语句的标准
[root@db01 ~]# mysql -uroot -p -S /tmp/mysql.sock -h 10.0.0.51 -P3306
Enter password:
mysql> show processlist;
+----+------+------------+------+---------+------+----------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+------------+------+---------+------+----------+------------------+
| 15 | root | localhost | NULL | Sleep | 25 | | NULL |
| 16 | root | db01:39646 | NULL | Query | 0 | starting | show processlist |
+----+------+------------+------+---------+------+----------+------------------+
2 rows in set (0.00 sec)
1. 挂维护页
2. 关数据库
[root@db01 ~]# systemctl stop mysqld
3. 跳过授权启动
[root@db01 ~]# mysqld_safe --skip-grant-tables --skip-networking &
--skip-grant-tables : 连接层关闭验证模块,所有验证表不加载。
--skip-networking :连接层关闭TCP/IP协议,禁止远程访问。
4. 改密码
mysql> alter user root@'localhost' identified by '456';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql>
mysql>
mysql>
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> alter user root@'localhost' identified by '456';
Query OK, 0 rows affected (0.00 sec)
mysql>
[root@db01 ~]# pkill mysqld
[root@db01 ~]# systemctl start mysqld
5.正常开启业务
命令行>配置文件>预编译
prompt=Master [\\d]>
1.先看日志
2. 配置文件
3. 数据
4. 终极大招 mysqld --defaults-file=xxxx --user=mysql &
char(11) :***定长***的字符串类型,在存储字符串时,最大字符长度11个,立即分配11个字符长度的存储空间,如果存不满,***空格***填充。
varchar(11):***变******长***的字符串类型看,最大字符长度11个。在存储字符串时,自动判断字符长度,***按需***分配存储空间。
优缺点:
1. char类型存储时,相比varchar类型存储效率更高,不需要判断字符长度,直接分配磁盘空间
2.varchar类型,相比char类型,按需分配空间。
选择?
1. 从原则上来讲,将来字符串长度不固定的话,选择varchar类型,字符串长度固定不变则选择char类型
2. 实际上我们生产中在考虑性能问题的方面,需要有大量插入(insert)操作的应用中,我们可以考虑使用char去代替varchar。
3. 如果我们业务中,大量是查询类操作的应用中,数据量级又比较大情况下,变长长度数据类型,可以考虑采用varchar,一方面节省空间,可以有效的减少***索引树***的高度,从而提高索引的优化查询的效果。
开发环境通常是windows的,不区分大小写,线上环境通常是Linux,区分大小写的。
1. 和开发混到好,直接找他要ER图
2. 谁也不认识:
use xuexiao
show tables;
desc xuesheng;
show create table xuesheng;
select * from xuesheng where id <5
create table ceshi like xuesheng; (复制结构一样的空表)
(0)