序言
與其他的小型資料庫諸如oracle,SQLServer等相比,MySQL自有它的不足之處,然而這絲毫也沒有降低它受歡迎的程度。對於通常的個人用戶和中大型企業來說,MySQL提供的功能早已綽綽有餘,但是因為MySQL是開放源碼軟體linux命令tar,因而可以大大減少總體擁有成本,所以被廣泛的應用在各行各業。受歡迎,應用廣,所以通常都是筆試中的必問的知識點,所以接下的一段時間,追隨小編一上去學習下mysql的相關知識吧!小編將從mysql的安裝,構架,事務,索引linux手機,鎖,分庫分錶,性能優化等多個方面進行分享。百里之行源自於足下,明天我們從mysql的基礎安裝篇開始,你們快來一起學習吧!
環境打算環境偵測
這一步主要是檢測當前centos系統中,之前是否安裝過mysql,假如安裝過,則須要完全刪除mysql相關的一些包,以防止發生一些不可思議的報錯,你懂的
rpm -qa|grep mysql
rpm -e mysql-community-common-5.7.36-1.el7.x86_64 rpm -e mysql-community-client-5.7.36-1.el7.x86_64 rpm -e mysql-community-server-5.7.36-1.el7.x86_64 rpm -e mysql-community-libs-compat-5.7.36-1.el7.x86_64 rpm -e mysql-community-libs-5.7.36-1.el7.x86_64
find / -name '*mysql*'
# 以 /etc/my.cnf等为例 rm -rf /etc/my.cnf rm -rf /var/lib/mysql rm -rf /var/lib/mysql rm -rf /usr/lib64/mysql
(根據以上指令,全部刪除mysql相關檔案)
開始安裝使用yum進行安裝
#下载yum源 wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm #安装yum源 rpm -ivh mysql80-community-release-el7-3.noarch.rpm #使用此命令可以查看 MySQL Yum 存储库中的所有子存储库,并查看其中哪些子存储库已启用或禁用 yum repolist all | grep mysql #关闭mysql8的下载源 yum-config-manager --disable mysql80-community #开启mysql5.7下载源 yum-config-manager --enable mysql57-community #安装mysql5.7 yum install -y mysql-community-server
配置
vim /etc/my.cnf
更改內容如下:
[mysqld] # MySQL设置大小写不敏感:默认:区分表名的大小写,不区分列名的大小写 # 0:大小写敏感 1:大小写不敏感 lower_case_table_names=1 # 默认字符集 character-set-server=utf8 # 设置时区 default-time_zone = '+8:00'
啟動
systemctl start mysqld
設定root使用者密碼
安裝了mysql5.7以後初始密碼不再預設為空,初始密碼會產生一個預設密碼。密碼會輸出到mysql日誌中。日誌檔案的位置在/var/log/mysqld.log
vim /var/log/mysqld.log
執行vim指令後linux yum安裝wget,輸入"/password",如下截圖的位置即為初始密碼
#1.登录mysql [root@localhost ~]# mysql -uroot -p't)WMH;uUe9Jn' #mysql5.7以后对密码的强度是有要求的,必须是字母+数字+符号组成的,如果想设置简单密码例 如‘root’,需要做以下设置 #2.设置密码长度最低位数 mysql> set global validate_password_length=4; #3.设置密码强度级别 mysql> set global validate_password_policy=0; #4.修改密码 mysql> alter user 'root'@'localhost' identified by 'root';
密碼複雜度的一些常規設定如下:
Policy
TestsPerforme
0orLOW
Length
1orMEDIUM
numeric,lowercase/uppercase,andspecialcharacters
2orSTRONG
Length;numeric,lowercase/uppercase,andspecialcharacters
注意:默认是1,即MEDIUM,所以刚开始设置的密码必须符合厚度,且必须富含数字linux yum安装wget,大写或小写字母,特殊字符。
MySQL远程联接授权登陆mysql
## -u:指定数据库用户名 ## -p:指定数据库密码, ## 记住-u和登录密码之间没有空格 mysql -uroot -proot
授权
授权命令:
grant 权限 on 数据库对象 to 用户
示例:
## 授予root用户对所有数据库对象的全部操作权限: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
说明:
关掉linux的防火墙
虽然以上我们的mysql安装步骤就早已结束了,防火墙的设置只是针对有内网访问mysql的需求,这儿看实际需求,须要的话就设置一下
systemctl stop firewalld(默认) systemctl disable firewalld.service(设置开启不启动)
忘掉密码怎样办
mysql密码是不是都是记住密码,长时间不输入密码,致使忘掉了,不晓得你是不是,总之小编常常忘掉,所以记录下忘掉密码后重置密码的方式
更改配置
vim /etc/my.cnf
更改内容如下:
## 在/etc/my.cnf添加如下内容即可 skip-grant-tables
说明:skip-grant-tables选项的意思是启动MySQL服务的时侯跳过权限表认证。启动后,联接到MySQL的root将不须要口令(危险)。此项设置很危险,生产环境中谨记勿使用!生产环境中谨记勿使用!生产环境中谨记勿使用!
重启mysql
systemctl restart mysqld.service
登陆mysql
## 使用root登录mysq mysql -u root ## 切换到到mysql库 use mysql ## 更新root密码 update user set authentication_string=password('123456') where User='root';
更改配置
将/etc/f里的skip-grant-tables配置项删掉
重启mysql
systemctl restart mysqld.service
重設密碼完成,可以愉快的使用新密碼登入mysql了!
結束
這次分享的mysql安裝就那麼多了,須要交流學習可以關注公眾號【溫故知新之java】,相互學習,一起進步
以上是MySQL 基礎安裝篇:從環境準備到架構、事務、索引等多面向分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!