CentOS7安装Mysql

安装Mysql8.0.16

  1. 下载并安装cmake
    如果安装过不需要安装
cd /http/package/
sudo wget https://github.com/Kitware/CMake/releases/download/v3.14.5/cmake-3.14.5.tar.gz
sudo tar -zxvf cmake-3.14.5.tar.gz
sudo ./bootstrap
sudo gmake
sudo gmake install

查看版本
cmake -version

  1. 下载并安装ncurses
cd /http/package/
sudo wget ftp://ftp.invisible-island.net/ncurses/ncurses-6.1.tar.gz
sudo tar -zxvf ncurses-6.1.tar.gz

cd ncurses-6.1
sudo ./configure --prefix=/http/package/ncurses
sudo make
sudo make install
  1. 安装libaio库
    sudo yum -y install libaio*
    安装libaio和libaio-devel这两个库

  2. 为Mysql添加用户及组
    为了保证操作系统的安全,这里为mysql工作进程创建专用的用户

sudo groupadd mysql
sudo useradd -r -g mysql mysql
  1. 下载并安装

下载解压

cd /http/package/
sudo wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
sudo tar -xvf mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
sudo mv mysql-8.0.16-linux-glibc2.12-x86_64 /http/server/mysql

这里使用的是mysql官方提供的解压缩版的安装方式,不需要进行make操作。将mysql文件夹移动到安装路径后,需要修改mysql安装文件夹的权限,执行以下命令
sudo chown -R mysql.mysql /http/server/mysql/
后续如果在该目录及其子目录下创建了任何文件和文件夹,均需要再次执行该命令,以确保mysqld进程对该文件夹具有完全的读写权限

  1. 设置mysql配置文件
    mysql的配置文件是放在/etc/目录下的,名字是my.cnf,具体配置如下
[client]
port            = 3306
socket          = /http/server/mysql/tmp/mysql.sock

[mysqld]
basedir=/http/server/mysql
datadir=/http/server/mysql/data
socket=/http/server/mysql/tmp/mysql.sock

#skip-external-locking
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in [<u>http://fedoraproject.org/wiki/Systemd</u>](http://fedoraproject.org/wiki/Systemd)
log-error=/http/logs/mysql/error.log
pid-file=/http/logs/mysql/mysql.pid

[mysqld_safe]
log-error=/http/logs/mariadb/error.log
pid-file=/http/logs/mariadb/mariadb.pid

#
# include all files from the config directory
#

!includedir /etc/my.cnf.d

这里需要注意,配置文件最后一行引入了新的配置文件,下面列出my.cnf.d目录下名为mysql-clients.cnf的配置文件内容

#
# These groups are read by MariaDB command-line tools
# Use it for options that affect only one utility
#
[mysql]

[mysql_upgrade]

[mysqladmin]

[mysqlbinlog]

[mysqlcheck]

[mysqldump]

[mysqlimport]

[mysqlshow]

[mysqlslap]

在my.cnf配置文件中,需要注意几个配置,其中basedir指的是mysql的安装目录,datadir指的是mysql数据文件的存储目录,其他几项配置项,感兴趣可以自行查看官方解释。还需要特别说明的一个问题是,所有在配置文件中出现的路径、文件均需要具有可读写的权限,前面为MySQL创建了用户及组,所以上述配置文件中涉及到的路径和文件,均需要将其所有者及组指定为mysql用户,这样MySQL服务才能正常启动。

  1. 创建必要目录和文件

创建目录

sudo mkdir -p /http/server/mysql/data/ /http/server/mysql/tmp/ /http/logs/mysql/ /http/logs/mariadb/

创建文件

sudo touch /http/server/mysql/tmp/mysql.sock /http/logs/mysql/error.log /http/logs/mysql/mysql.pid /http/logs/mariadb/error.log /http/logs/mariadb/mariadb.pid

更改所有者

sudo chown -R mysql.mysql /http/server/mysql/data/ /http/server/mysql/tmp/ /http/logs/mysql/ /http/logs/mariadb/

  1. 初始化MySQL

因本文采用的是MySQL 8.0.16版本,所以不能使用mysql_install_db命令,而是需要使用mysqld –initialize命令对数据库进行初始化,具体命令如下

sudo /http/server/mysql/bin/mysqld --initialize --user=mysql --basedir=/http/server/mysql/ --datadir=/http/server/mysql/data/

error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
原因:
yum 安装的libnuma.so.1,但安装时默认安装的是32的,但db2需要的是64位的
解决办法:
如果已经安装了libnuma.so.1,先sudo yum remove libnuma.so.1
sudo yum -y install numactl.x86_64

若前面配置文件中的各配置项均正确,各路径、文件均存在并可读写,该命令将执行成功

  1. 使用安全模式启动MySQL
    sudo /http/server/mysql/bin/mysqld_safe --user=mysql &

  2. 设置MySQL服务开机自启
    创建配置文件
    sudo vim /lib/systemd/system/mysql.service

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
ExecStart=/http/server/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
#Restart=on-failure
#RestartPreventExitStatus=1
#PrivateTmp=false

systemctl start mysql 启动mysql
systemctl enable mysql 设置mysql开机启动

  1. 重置密码
    sudo vim /etc/my.cnf
    [mysqld]里面增加
    skip-grant-tables
    重启mysql
    systemctl restart mysql
    使用用户无密码登录
    /http/server/mysql/bin/mysql -uroot -p (直接点击回车,密码为空)
    选择数据库
    use mysql;
    将root密码置空
    update user set authentication_string = '' where user = 'root';
    刷新权限
    flush privileges;
    退出
    exit
    删除第1部增加的配置信息
    skip-grant-tables
    重启mysql
    systemctl restart mysql
    更改新的密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
    由于MySQL 8默认使用了新的密码验证插件:caching_sha2_password,如不支持请使用下面方式更改密码
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容