MySQL数据库安装相关

相关

依赖包

ncurses ncurses-devel:是字符终端下屏幕孔子的基本库
bison:用于自动生成语法分析器程序,(分析错误)
cmake:是一个跨平台安装工具,可用简单的语句来描述所有平台编译安装过程

mysql的模式

NO ENGINE SUBSTITUTION:在开启该mode的情况下,在创建表时,如果指定的存储引擎不存在或不支持,则会直接提示error
STRICT_TRANS-TABLES:严格模式,进行严格的数据校验,错误数据不能插入,报error
NO_AUTO_CREATE_USER:mode禁止的只是不带“identified by”子句的grant语句,对于带有“identified by”自居的grant语句不会禁止NO_AUTO_VALUE_ON_ZERO:该值影响自增长列的插入,默认情况下,在对自增主键插入null或0时,会自动生成下一个值,若开启该mode,当插入0时,并不会自动生成下一个值
NO_ZERO_IN_DATE:针对的是年不为0
NO_ZERO_DATE:该mode会影响‘’0000-00-00‘’的插入。实际效果还取决于是否开启严格模式,都开启时,不允许0000-00-00的插入ERROR_FOR_DIVISION_BY_ZERO:在insert或update过程中,如果数据被0除,则产生错误而非警告。如果未给出该模式,当数据被0除时mysql返回null
PIPES_AS_CONCAT:将“||”视为字符串的连接操作符而非或运算符,这和Oracle数据库时一样的,也和字符串拼接函数concat相类似
ANSI_QUOTES;启用后不能用双引号来引用字符串,因为它被解释为识别符

查看存储引擎

mysql > show engines;
修改默认的存储引擎
MySQL>alter table user_info engine=MyISAM; #在表创建完成后修改存储引擎vim my.cnf #在配置文件时指定存储引擎
default-storage-engine=InnoDB
MySQL>create table engineTest(id int) engine=MyISAM; #创建表时指定存储引擎

安装

yum -y install ncurses ncurses-devel bison cmake #安装依赖包
useradd -s /sbin/nologin mysql #创建不可登录用户
tar zxvf mysql-boost-5.7.20.tar.gz #解压
在这里插入图片描述
cd mysql-5.7.20/ #安装功能模块
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #指定套接字(客户端访问mysql的接口)文件的存储路径
-DSYSCONFDIR=/etc \ #配置文件的路径/
-DSYSTEMD_PID_DIR=/usr/local/mysql \ #主服务进程所在路径
-DDEFAULT_CHARSET=utf8 \ #默认字符集(中英文问题)
-DDEFAULT_COLLATION=utf8_general_ci \ #默认编码
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #启用inoodb引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #启用archive引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #启用blackhole引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ #启用perfschema引擎# 存储引擎就是如何存储数据,如何为存储的数据建立索引和更新查询数据等技术的实现的方法
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据存储路径-DWITH_BOOST=boost \ #boost库是为C++语言标准库提供扩展的一些C++程序库的总称
-DWITH_BOOST=boost
-DWITH_SYSTEMD=1 #这是mysql5.7原生支持systemd的选项,如果用systemctl启动,就必须开启

make && make install #编译安装

chown -R mysql.mysql /usr/local/mysql/ #设置属主属组(因为要运行权限)

vi /etc/my.cnf #配置文件
[client] #客户端连接对象
port=3306 #连接端口
default-character-set=utf8 #默认的字符集
socket = /usr/local/mysql/mysql.sock #默认的套接字与上方一样
[mysql] #mysql运行用户
port=3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysqld] #程序
user=mysql #运行用户
basedir=/usr/local/mysql #基本路径(根目录)
datadir=/usr/local/mysql/data #我的用户没目录
port=3306character-set-server=utf8
pid-file=/usr/local/mysql/mysql.pid #运行时的进程文件
socket = /usr/local/mysql/mysql.sock
server-id=1 #类似routerid
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES #模式

chown mysql.mysql /etc/my.cnf

echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH’ >> /etc/profile #mysql用到的环境赋值给PATH
echo ‘export PATH’ >> /etc/profile #设为全局
source /etc/profile #让其可改变当环境变量
在这里插入图片描述
初始化(无论如何安装,都要初始化完后才可以使用)
cd /usr/local/mysql/bin/mysqld
之前做好链接可直接
mysqld
–initialize-insecure
–user=mysql
–basedir=/usr/local/musql
–datadir=/usr/local/mysql/data

cd /usr/local/mysql/
cp usr/lib/systemd/system/mysql.service /usr/lib/systemd/system/
systemctl daemon-reload #守护进程重新加载
systemctl start mysqld #开启
netstat -anpt | grep mysqld #查看
在这里插入图片描述
systemctl enable mysqld #开机自启

mysqladmin -u root -p password ‘123123’ #给root账户设置密码为123123(原始密码)

初始化密码(初始密码为空)
1.mysql -u root -p
2.mysqladmin -u root -p password
修改mysql密码
1.用set password命令
先登录nysql
mysql> set password for root@localhost = password(‘123123’);
简写mysql > set password=password(‘123123’);
2.用mysql
adminmysqladmin -uroot -p123456 password 123123
3.用update直接编译user表
首先登录mysql
mysql> use mysql;mysql> update mysql.user set authentication_string=password(‘123123’) where user=‘root’ and host=‘localhost’;
mysql> flush privileges;
登录mysq
lmysql -uroot -p密码
在这里插入图片描述

忘记密码
vi /etc/my.cnf末尾添加
skip_name_resolv
skip_grant_tables
bind-address=0.0.0.0

systemctl restart mysqld
mysql -uroot -p登录
在这里插入图片描述
然后取消免密
vi /etc/my.cnf末尾添加
#skip_name_resolv
#skip_grant_tables
#bind-address=0.0.0.0

systemctl restart mysqld

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值