CentOS 7配置MySQL
今天心血来潮想用Linux,死在MySQL手上千万次。。。。。。
也许是我垃圾,但是看现在网路上的文章基本上都是老版本的MySQL,所以我来写篇博客填填坑
我用的是腾讯的CentOS 7今天大概重置系统了4,5次
但是也好,熟能生巧,我也记了不少的命令
首先我打算用yum下载,但是。。。。。。。。下载速度让我畏惧了,我的个乖乖,10kb/s下载400多MB的东西,我还想多活活
所以我找了离线下载的方法,我来总结一下
-
前提,删除Mariadb和mysql有的话
rpm -qa|grep mariadb //查询Mariadb
rpm -e -nodeps 文件名 //上述查到的文件
-
在MySQL官网下载安装文件 下载地址
- 系统选择:Linux_Generic
- OS version x86_64的
- 下载Compressed TAR Archive的
-
建议使用XShell和XFTP(多个人是免费的)
- 使用XFTP上传下载的文件到服务器建议发在/usr/local/里面
- 用 xz -d 文件名 解压文件
- 用 tar -xvf 文件名 再次解压文件(注意哦,文件名改变了)
-
使用 mv 文件夹名 mysql 重命名mysql的文件夹名为mysql
-
创建mssql用户组和mysql用户
groupadd mysql
useradd -g mysql mysql
//是不是很烦,不知道哪个是组哪个是用户,这个是因为我怕后面混,
//使用的这个,这个后面是用户名
passwd mysql
//给她设置一个密码哈
-
在/etc目录下新建一个my.cnf文件
文件的内容
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
#设置3306端口
port=3306
socket=/var/lib/mysql/mysql.sock
# 设置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_names=1
max_allowed_packet=16M
-
赋予my.cnf给mysql用户
chown mysql:mysql /etc/my.cnf
//前面是用户,后面不再说了哈,我也没去试了
-
初始化软件
- 进入mysql目录
cd /usr/local/mysql
* 使用当前目录的所有者为mysql
> chown -R mysql:mysql ./
* 进入bin文件夹初始化数据库
> cd bin
> su mysql //更换到mysql用户,等下就不用更改生成的data的所有者
> ./mysqld initialize //开始初始化数据
* 成功的标志是生成一个非常复杂的密码如:
> saUem+snbq>- 这一串都是密码哦,一般就是在localhost后面:
注:如果出现
error while loading shared libraries: libnuma.so.1:
cannot open shared object file: No such file or directory
需要先换会到root用户,安装inumactl
yum -y install numactl.x86_64
-
回到root,你一定知道吧
-
然后修改生成的data目录的权限到775
chown 775 /usr/local/mysql/data
已经差不多了,不过先配置一下PATH
使用
vim /etc/profile
在最下面添加
export PATH=$PATH:/usr/local/mysql/bin
注:编辑前需要按insert,退出前先按Esc然后:号输入wq!来强制保存
执行下面的命令使其立即生效
source /etc/profile
这样就可以愉快的使用mysql命令了,什么mysql还没有启动,小问题了啦
不对我在这死了1次😂
最后配置
-
my.cnf也想要高权限
chown 777 /etc/my.cnf
-
让mysql可以开机自动启动
复制启动脚本,前往资源目录,并重命名
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
给服务控制脚本添加权限
chown +x /etc/rc.d/ind.d/mysqld
判断是否已经自动生效
chkconfig --list mysqld
可以手动添加
chkconfig --add mysqld
2,3,4,5要是no哦
-
启动服务
service mysqld start
-
停止服务
service mysqld stop
END
没错是结束了,但是我还想说说其他操作
mysql -u root -p //回车
//输入密码进入数据库
alter user 'root'@'localhost' identified by '123456';
//修改密码为123456,好像必须改一次,也好,那个密码太难记了
use mysql //进入mysql数据库
update user set host = '%' where user = 'root'
//这个有什么用了,如果你自己电脑上面有premium的话,就可以远程连接数据库了
//就可以很方便的导入导出数据了
image.png
第一次写博客,就不多放图了
参考博文:
Centos5.6 离线安装 MySQL 详细步骤
基于本地Centos7.6虚拟机Mysql8的配置
网友评论