Linux下mysql的详细安装过程

Linux下mysql的安装

移动到安装目录

sudo mkdir /usr/local/mysql
cd /usr/local/src
tar -xzvf ./mysql-5.5.49-linux2.6-x86_64.tar.gz
sudo mv ./mysql-5.5.49-linux2.6-x86_64/* /usr/local/mysql

新建用户

sudo groupadd mysql
sudo useradd -g mysql -s /usr/sbin/nologin mysql #不让mysql用户直接登录
sudo chown -R mysql:mysql /usr/local/mysql/

复制配置文件

cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

设置权限

chmod +x /usr/local/mysql

配置开机自动启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 2345 mysqld on
chkconfig --list mysqld #查看是否已应用上

添加MySQL的软链接以适应init脚本

ln -sv /usr/local/mysql/bin/mysql /usr/sbin/mysql
ln -sv /usr/local/mysql/bin/mysqladmin /usr/sbin/mysqladmin
ln -sv /usr/local/mysql/bin/mysqldump /usr/sbin/mysqldump

修改配置文件

vim /etc/my.cnf

在 [mysqld] 节点中添加

datadir = /usr/local/mysql/data #数据文件的位置
log-error = /usr/local/mysql/data/error.log #日志
pid-file = /usr/local/mysql/data/mysql.pid #进程编号
user = mysql #用户名
tmpdir = /tmp

保存退出

初始化数据库

sudo /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

阿里云Centos7安装MySql初始化时报缺少libaio.so.1
由于在阿里云的Centos在centos 7.3 上安装 mysql 5.7.18版本数据库
初始化数据库:./mysqld --initialize-insecure --user=mysql --datadir=/usr/local/mysql-5.7.18/data/
初始化数据库的时候报:
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
libaio包的作用是为了支持同步I/O。对于数据库之类的系统特别重要,因此在linux上安装数据库软件,就需要安装libaio
使用
yum install libaio-devel.x86_64

修改root密码

/usr/local/mysql/bin/mysqladmin -u root -p password “123456”
使用此命令需要启动mysql(如上述文档)
#启动mysql服务, 因为已经安装了mysqld服务到 chkconfig,所以可以直接启动
service mysqld start

初次安装的mysql后,root的密码其实为空,因此通过mysqladmin -u root -p password 123456
这里我将密码修改为123456
进入后,然后让你输入的密码其实为空,直接enter

#请在阿里云中登录mysql服务器

mysql -uroot -p登陆

#在mysql中修改user表,以允许远程登录
#注意: user表中有两个字段: host 原值为localhost user 原值 root
它表示 root用户只能在本地登录,我们要修改它
(见下方)

#重启mysql服务
service mysqld restart

#最后在阿里云 添加安全组规则,打开 3306端口,以便远程访问( 上线后的产品服务器要关闭3306 )

#最后,在本地客户端测试联接mysql服务器.

添加远程连接权限

解决方案
在服务器上登录数据库,然后执行如下授权SQL语句。该授权SQL语句的含义为root用户可用任何IP地址登录数据库,操作任何数据库中的任何对象。
grant all privileges on . to ‘root’@’%’ identified by ‘123456’ with grant option;
参数说明如下。
.参数,第一个“”为数据库占位符,如果填“”则代表所有数据库。第二个“”为数据库对象占位符,如果填“”则代表数据库中所有对象。
‘root’@’%'参数,root为授权登录的数据库账户,“%”为IP地址占位符。假如要限制只能在1.1.1.1登录,则需要把“%”改成1.1.1.1。如果填“%”则代表允许任何IP地址登录。
'123456’参数,该参数为数据库密码。
执行如下SQL语句,刷新权限。
flush privileges;
确认远程MySQL客户端可正常连接数据库。

注意

上传数据库要注意编码格式
show variables like ‘%chara%’
如果有问题
修改/etc/my.cnf
[clinet]
default-character-set=utf8
[mysqld]
character_set_server=utf8
[mysql]
default-character-set=utf8

mysql中修改编码的方式

set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
set character_set_system=utf8;
set collation_connection=utf8;
set collation_database=utf8;
set collation_server=utf8;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值