当前位置:网站首页>Linux(centos7)下安装MySQL
Linux(centos7)下安装MySQL
2022-07-30 05:48:00 【风云不语】
一、安装包获取
1.到mysql官网下载安装包免解压版
下载地址:https://dev.mysql.com/downloads/mysql/5.6.html#downloads
图片截图实例
2.wget获取安装包,cmake编译
eg:
wget http://xiazai.jb51.net/201701/yuanma/mysql5.6.24(jb51.net).rar
二、安装准备
1、卸载系统自带的mariadb
[[email protected] soft]# rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[[email protected] soft]#
[[email protected] soft]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
2、删除/etc目录下的my.cnf
避免默认的mysql配置文件应用后续启动,有可能系统原来不存在这个文件
rm /etc/my.cnf
3、创建mysql用户组及用户
mysql默认root用户启动视为不安全
[[email protected] soft]# groupadd mysql
[[email protected] soft]# useradd -g mysql mysql
二、安装
1、免编译安装包
(1) 解压安装包到/usr/local/目录下
[[email protected] soft]# cd /usr/local/
[[email protected] local]# tar -xzvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
(2) 将解压好的文件夹重命名为mysql
[[email protected] local]# mv mysql-5.6.43-linux-glibc2.12-x86_64/ mysql
[[email protected] local]# ls
bin etc games include java lib lib64 libexec mysql redis sbin share src
[[email protected] local]#
(3) copy一份/usr/local/mysql/support-files/下的my-default.cnf文件到/etc下
[[email protected] local]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
(4) 配置/etc目录下的my.cnf文件
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M
(5) 初始化数据库
[[email protected] mysql]# cd /usr/local/mysql/
[[email protected] mysql]# chown -R mysql:mysql ./
[[email protected] mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
-bash: ./scripts/mysql_install_db: /usr/bin/perl: 坏的解释器: 没有那个文件或目录
[[email protected] mysql]#
[[email protected] mysql]#
注意如果报上面的错误,那么需要安装perl, autoconf
yum -y install perl, autoconf
(6) mysql路径配置到PATH
vi /etc/profile
# Append these 2 lines to the end of the file:将下面两行命令增加到最后
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
#生效PATH搜索路径
source /etc/profile
(7) 启动mysql
#启动MySQL服务
service mysqld start
# 设置开机自动启动服务
chkconfig mysqld on
或者
mysqld -c /etc/my.cnf --basedir=/home/mysql \
--datadir=/home/mysql/data \
--plugin-dir=/home/mysql/lib/plugin \
--user=mysql
2、cmake编译源码包安装
(1) 安装编译源码所需的工具和库(需要联网)
yum -y install wget gcc-c++ ncurses-devel cmake make perl
(2) 下载源码压缩包,下载包53M大小,有点慢。
wget
http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.10.tar.gz/
(3) 解压源码包
# 解压缩源码包
tar -zxvf mysql-5.6.11.tar.gz
#进入解压缩源码目录
cd mysql-5.6.11
(4) 从mysql5.5起,mysql源码安装开始使用cmake了,执行源码编译配置脚本
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
#编译源码,这一步时间会较长,耐心等待。
cmake 编译选项含意:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
#指定mysql安装的根目录,只要 /mysql目录存在就可以了,mysql-5.5在安装时,会自动创建。这个 值可以在服务器开机时,通过--basedir来设置。
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock
#mysql服务器用于监听的套接字,这个必需是一个绝对路径,默认是/tmp/mysql.sock。在服务器吭劢 时,可通过--socket 来改变。
-DDEFAULT_CHARSET=utf8
#设置mysql默认使用utf8字符集,不指定,默认使用latin1 西欧字符集。
-DDEFAULT_COLLATION=utf8_general_ci
#默认字符校对
DWITH_EXTRA_CHARSETS=all
#指定mysql扩展字符集支持所有的字符集。默认mysql支持所有字符集
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
#静态编译 Myisam、Innobase、Memory 存储引擎刡 mysql 服务器。这样 mysql 服务器就支持这三 种存储引擎了。
-DWITH_READLINE=1 #支持readline库 。
-DENABLED_LOCAL_INFILE=1 #允许从本地导入数据 ,吭用加载本地数据
-DMYSQL_DATADIR=/server/mysql/data #mysql数据库存放数据的目录
-DMYSQL_USER=mysql #指定运行mysql服务的用户
注:具体编译参数参考: http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html
(5) 安装
make
#安装
make install
#清除安装临时文件
make clean
(6) make生成的 /usr/local/mysql 和免编译安装包的解压出来的相同了
#修改目录拥有者
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data
#进入安装路径
cd /usr/local/mysql
(7) 后续初始化和启动,同1,略。
四、mysql客户端登录使用
1、修改MySQL用户root的密码
(授权法,例如:你想root用户使用root密码从任何主机连接到mysql服务器)
mysql -u root(进入MySQ终端)
mysql>use mysql;(进入MySQL数据库)
mysql>GRANT ALL PRIVILEGES ON *.* TO [email protected]"%" IDENTIFIED BY "root";(授权root用户使用root password从任何主机连接到mysql服务器)
mysql>update user set Password = password('123456') where User='root';(修改root用户密码为123456)
mysql>flush privileges;(特权)
mysql>exit;(退出)
# 可选:运行安全设置脚本,修改MySQL用户root(不是系统的root!)的密码,禁止root远程连接(防止破解密码),移除test数据库和匿名用户,强烈建议生产服务器使用:
/usr/local/mysql/bin/mysql_secure_installation
2、MySQL的使用
mysql [-h <主机>] [-u <用户名>] [-p] [数据库名]
●更改root管理员的密码
mysql> update mysql.user set password=password('123456') where user='root';
●添加用户admin,允许从任何地方登录MySQL服务器
mysql> insert into user(host,user,password) values("%","admin",password("pwabc"));
●刷新用户授权信息
mysql> flush privileges;
●删除MySQL的空用户
mysql> delete from mysql.user where user='';
●授予权限
GRANT 权限列表 ON 数据库名.表名 TO 用户名@来源地址 [ IDENTIFIED BY '密码' ]
mysql> grant select on mysql.user to [email protected]'localhost' identified by 'pw123';
mysql> grant all on mydb.* to [email protected]'localhost' identified by '123456';
mysql> grant select on mydb.* to [email protected]'192.168.0.0/24' identified by '123456';
mysql> grant select,insert on mydb.* to [email protected]'%.benet.com' identified by 'pw456';
●查看权限
SHOW GRANTS FOR 用户名@域名或IP
mysql> show grants for [email protected]'localhost';
●撤销权限
REVOKE 权限列表 on 数据库名.表名 from 用户名@域名或者IP
revoke all on mydb.* from [email protected]'%.benet.com';
边栏推荐
猜你喜欢
随机推荐
arthas常用命令
基于STM32F103的消防系统之火焰传感器
libgrape-lite on GPUs: GPU helps accelerate graph analysis tasks
图计算101:图计算的类型、语言与系统
为数字政府构建智能化网络安全管控体系
图扑数字孪生煤矿开采系统,打造采煤“硬实力”
Knowledge of the day: handwritten deep copy and shallow copy (solves the problem of circular references)
c语言编程练习
PC DBCO-PEG3-Biotin|PC-生物素-PEG3-DBCO可用于使用无铜点击化学
BlockingQueue详细介绍
Waterfall flow (custom layout implementation)
JSP自定义标签
VsCode connects to the remote server and modifies the file code
Application of graph computing in network security analysis
使用Apifox测试套件自动化测试接口
测试第一题
rsync使用方法之坑
基于THREEJS场景中模型局部辉光效果
02-Cycript的使用
独立按键控制led









