卸載原有mysql
因為mysql數據庫在Linux上實在是太流行了
所以目前下載的主流Linux系統版本基本上都集成了mysql數據庫在里面
我們可以通過如下命令來查看我們的操作系統上是否已經安裝了mysql數據庫
rpm -qa | grep mysql // 這個命令就會查看該操作系統上是否已經安裝了mysql數據庫
有的話,我們就通過 rpm -e 命令 或者 rpm -e --nodeps 命令來卸載掉
// 普通刪除模式
rpm -e mysql-libs-5.1.73-3.el6_5.x86_64
// 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它文件,則用該命令
rpm -e --nodeps mysql-libs-5.1.73-3.el6_5.x86_64
安裝Mysql
首先,我們可以使用yum命令來安裝:
ps: 此方式有可能已經過時或有其他問題,最新安裝方法請參考官方安裝文檔
yum install -y mysql-server mysql mysql-devel
但是,這里我們使用離線安裝的方式安裝mysql
// 使用wget命令從mysql官網下載離線包(地址可能不一定是下面這個,請自行更改)
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
// 解壓
tar -xvf mysql-5.7.24-1.el6.x86_64.rpm-bundle.tar
// 安裝工具包以及兼容性相關包
rpm -ivh mysql-community-common-5.7.24-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.24-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.24-1.el6.x86_64.rpm
// 安裝mysql服務端
rpm -ivh mysql-community-server-5.7.24-1.el6.x86_64.rpm
// 安裝mysql客戶端
rpm -ivh mysql-community-client-5.7.24-1.el6.x86_64.rpm
// 啟動mysql
service mysqld start
至此,mysql安裝完畢
配置mysql
mysql安裝完畢之后,還需要做一些基本配置,如下:
// 創建配置文件
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
// 修改配置文件/etc/my.cnf,最后一行加上
lower_case_table_names=1 #表名不區分大小寫
// 由於mysql5.7有弱密碼限制,可以在配置文件中加上下面內容,關閉限制
[mysqld]
validate_password=off
// 查看root用戶初始密碼並修改root密碼
grep 'temporary password' /data/mysql/error.log
set password = password('your_password');
// 創建用戶並授權
grant all on *.* to name@'%' identified by "password" with grant option;
flush privileges;
編碼格式以及其他
查看字符集用 show variables like 'character%';
查看數據庫支持的字符集
show character set;
或者:
show char set;
最簡單的完美修改方法,修改mysql的 /etc/my.cnf 文件中的字符集鍵值
// 在[mysqld]字段里加入character-set-server=utf8,如下:
[mysqld]
character-set-server=utf8
查看MySQL當前狀態:status
修改character_set_connection、character_set_client、character_set_results三值
set names utf8;
相當於:
SET character_set_client = charset_name;
SET character_set_results = charset_name;
SET character_set_connection = charset_name;
查看數據庫表的字符集設置:
show full columns from tablename;
show create table [表名];
查看數據庫編碼:show create database [庫名];
創建時指定字符集:
CREATE DATABASE [庫名] DEFAULT CHARACTER SET utf8;
如果不指定默認的字符集,則系統會根據character_set_database的值進行設置
CREATE TABLE [庫名].[表名] (id VARCHAR(20) NOT NULL,name VARCHAR(20) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE [庫名].[表名] (id varchar(20) NOT NULL,name varchar(20) CHARACTER SET utf8 );
修改字符集:
ALTER DATABASE [庫名] CHARACTER SET [字符集];
ALTER TABLE [表名] CHARACTER SET [字符集];
ALTER TABLE [表名] MODIFY [列名] VARCHAR(5) CHARACTER SET [字符集];
其他:
// mysql可以有:
select 1;
// 這樣的語法,而且不會報錯,等同於:
select 1 from dual;
// mysql里面也有虛擬表dual,但是select時不寫也行