Centos7安装mysql

centos7的yum源自带的数据库是mariadb,而mysql是没有的,这儿就来说一下linux系统中的centos7怎么安装mysql。

一、yum安装

通过yum安装的话,好处就是安装速度快,缺点就是无法个性化设置,无法增删安装的工具,也就是说,我们通过yum安装的话,功能都是已经规定好了的,我们无法再增加其他的工具模块,或者有一些模块我们根本用不上,但是也给安装上了。

1、添加yum库

既然是通过yum安装,而yum源里面又没有带有mysql,自然得加上mysql的yum源才能通过yum方式来安装。

至于怎么找到yum库包的话呢,就点这儿吧

把yum库包上传到机器上,我用的xshell,直接rz搞定,通过rpm命令添加yum库
安装Mysql是需要root权限的,我这直接用的root账户登录,如果用的普通账户的小伙伴是要提权的!

[root@localhost ~]# rpm -ivh mysql80-community-release-el7-1.noarch.rpm 

看一下Mysql源添加上没

[root@localhost ~]# yum repolist
list结果

可以看到,mysql源已经添加成功了。
我们通过这种方法安装的mysql通常都是mysql的最新版本,如果想要安装mysql的其他版本,要去修改mysql的yum源:

vim /etc/yum.repos.d/mysql-community.repo

进来之后可以看到如下:

# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

如果你是要安装mysql5.7,那就把mysql5.7源下面的enable=0改成1,再把mysql8.0的enable=1改成enable=0,总之1代表开启,0代表关闭,根据自己的需要改。

改完直接yum安装就行,就会自动安装我们规定的版本了,我这儿安装的是mysql8.0的,需要安装其他版本的小伙伴一定记得改源!

yum install -y mysql-community-server.x86_64

安装完成之后启动服务,添加开机自动启动

systemctl restart msyqld
systemctl enable mysqld

mysql安装之后是会自动给我们分配一个初始密码的,这点和mariadb不一样。密码呢就保存在/var/log/msyqld.log

grep "password" /var/log/mysqld.log |awk -F"root@localhost:"
ftq/iyVps0j+

通初始密码ftq/iyVps0j+登录数据库

[root@localhost ~]# mysql -u root -p'ftq/iyVps0j+'

进入数据库之后修改密码,不修改密码的话是不允许进行其他操作的。

mysql> alter user 'root'@'localhost' identified by 'CentoSby@123';

exit退出重新以新密码进入数据

mysql -u root -p'CentoSby@123'
i进入效果

进入之后随便敲点命令

mysql> create datebase test;
Query OK, 1 row affected (0.10 sec)

OK,关于数据库的yum安装方法到此为止!

二、预编译安装

预编译安装的特点:通用性强,可以调整部分设置,不需要编译,速度也是杠杠的!
首先吧,得找包吧,找包就不说呢,不懂得小伙伴呢就点链接进去看一下
找包点我

[root@localhost ~]# yum install libaio #安装基础环境

创建mysql的专用用户组

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

这里呢我安装的mysql版本是5.7.19,想要安装其他版本的话呢可以自己去官网找一下其他包!

[root@localhost ~]# tar xf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

解压包,没什么说的

[root@localhost ~]# mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/mysql

把解压出来的文件移动到/usr/local/下并且把名字改得精简一点,或者也可以直接做一个链接文件过去。如下:

[root@localhost ~]# ln -s mysql-5.7.19-linux-glibc2.12-x86_64 mysql

到这儿安装就已经完成了,接下来就该初始化了。

所谓的初始化就是设置mysql的启动参数:用户,组,权限,工作目录,配置文件
cd mysql   #这儿要注意路径,很重要!!
mkdir mysql-files  #创建一个子主题
chmod 750 msyql-files
chown -R mysql.mysql .   #这儿如果权限没给到会导致初始化失败的
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

这需要注意一下,初始化的时候会给我们分配一个超管密码


image.png

找个地方把密码记住!

bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
chown -R root .
chown -R mysql data mysql-files
vim /etc/my.cnf  写入以下内容:
          [mysqld]
          basedir=/usr/local/mysql
          datadir=/usr/local/mysql/data
建议如果有原来的my.cnf的话先备份一份!

初始化完毕了,接下来启动看一下!

可以用mysql自带的一个脚本开启服务

cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld  #建立mysql系统启动服务
chkconfig mysqld on  #设置开机自启(这些都是centos6系列的命令)
service mysqld start  #启动服务
Starting MySQL.Logging to '/usr/local/mysql/data/mysql2.err'.
SUCCESS! 
出现这两行就表示开启成功了

启动成功之后,可以试着进入数据了,用上面分配的超管密码登录

mysql -uroot -p'y:+2h#iTcmP6'

OK!预编译完成了!

三、源码包编译安装

源码包安装特点:

1>可以根据硬件品台选用合适的编译器来优化编译后的二进制代码;
2>根据不同的软件平台选用合适的编译器来优化编译后的二进制代码;
3>可以针对特定的应用场景选择特定的组件;
4>根据业务所需存储的数据内容选择特定的字符集等优点;

缺点:

1>对编译不够了解造成编译参数使用不当可能使编译出来的二进制代码不够稳定;
2>对应用环境的把握失误而使用的优化参数可能反而是系统性能更差;
3>安装速度相对较慢,较慢,较慢!
首先第一步不多说,找包!
找包点我
安装的mysql的版本:5.7.19

把编译环境安装了,如果编译环境没装,会导致编译的时候报各种错,曾经就看见有的小伙伴没有安装就编译环境就直接开干了,编译的时候各种报错,然后百度各种查,查一次就装一个包,其根本问题就是编译环境没有安装!

yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake

再一个就是大家练习的时候应该都是用虚拟机来练习,内存和硬盘都尽量给大点!
与预编译一样,也是需要我们手动创建专用用户:

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

上传解压源码包

tar -xvf msyql-5.7.19.tar.gz
tar -xvf boost_1_59_0.tar.gz
mv boost_1_59_0 mysql-5.7.19/

编译

上面说过了,如果没有安装编译环境,这儿就会报错!当然,磁盘空间不够的时候也会报错的哦!

cmake . \
-DWITH_BOOST=boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1

因为是安装测试,所以随便装了一些组件!
编译完成之后就该安装了,编译速度还是很快的。
但是到了安装这一步之后速度就不那么喜人了,因为是在虚拟机安装,所以才给了2个G内存,导致安装了将近2个小时,小伙伴们做的时候内存尽量给大点!

make && make install 

安装完成之后接着初始化:

cd /usr/local/mysql/
mkdir mysql-files
chown -R mysql.mysql  /usr/local/mysql
 /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
image.png

这儿会给我们生成一个临时密码,注意保存!

 /usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
vi /etc/my.cnf 写入以下内容:
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
初始化到这就完成了,接下来启动mysql:

与预编译一样,使用它自带的脚本启动

cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start

查看一下是否启动

ps aux |grep msyqld

进入数据库

mysql -u root -p'-xf>PBVux6qp'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容