1、首先关闭linux的防火墙,执行命令
chkconfig iptables off
2、从mysql官网上下载自己适合的mysql版本https://dev.mysql.com/downloads/mysql/5.6.html#downloads,进入mysql官网,依次点击
image image image image image3、下载后的mysql文件
mysql-5.6.40-linux-glibc2.12-i686.tar.gz
将下载好的mysql压缩文件放置在linux的/usr/local文件夹下,解压该压缩文件
tar -zxvf mysql-5.6.40-linux-glibc2.12-i686.tar.gz
将解压后的文件重命名为mysql
mv mysql-5.6.40-linux-glibc2.12-i686 mysql
4、创建mysql用户组及用户
groupadd mysql
useradd -r -g mysql mysql
5、进入到mysql目录,执行添加MySQL配置的操作
cp support-files/my-medium.cnf /etc/my.cnf
或:
cp support-files/my-default.cnf /etc/my.cnf
是否覆盖?按y 回车
6、编辑/etc/my.cnf文件;
vi /etc/my.cnf
在my.cnf文件中添加或者修改相关配置,更改完成后保存退出
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
# server_id = .....
socket = /tmp/mysql.sock
character-set-server = utf8
skip-name-resolve
log-err = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
7、在mysql当前目录下设定目录的访问权限(注意后面的小点,表示当前目录)
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
image.png
如果提示错误:
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper
就安装 autoconf库
yum-y install autoconf
如果提示如下错误:
Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
image.png
问题:缺少libaio库文件
解决方法:
yum install libaio* -y
8、初始化数据(在mysql/bin或者mysql/scripts下有个 mysql_install_db 可执行文件初始化数据库),进入mysql/bin或者mysql/scripts目录下,执行下面命令
./mysql_install_db --verbose --user=root --defaults-file=/etc/my.cnf --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/tmp
9、启动mysql,进入/usr/local/mysql/bin目录,执行下面命令
./mysqld_safe --defaults-file=/etc/my.cnf --socket=/tmp/mysql.sock --user=root &
注意,如果光标停留在屏幕上,表示启动成功,需要我们先关闭shell终端,再开启一个新的shell终端,不要执行退出操作。如果出现 mysql ended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题.
10、设置开机启动,新开启shell中断后,进入mysql目录,执行下面命令
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
chmod 700 /etc/init.d/mysql
chkconfig --add mysqld
chkconfig --level 2345 mysqld on
chown mysql:mysql -R /usr/local/mysql/
重启linux
reboot
查看mysql状态
service mysqld status
11、添加远程访问权限
(1)、添加mysql命令
ln -s /usr/local/mysql/bin/mysql /usr/bin(mysql的安装路径)
(2)、更改访问权限
登录mysql,执行下面命令
mysql -uroot -p
密码为空直接回车,运行以下两条命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'duan' with grant option;
Flush privileges;
退出mysql
exit
重启linux,就完成了
reboot
注:本机访问mysql,root账户默认是没有密码的,端口号默认3306,如果需要修改root账户密码,在/usr/local/mysql/bin目录下,执行下面命令
./mysqladmin -h 127.0.0.1 -P3306 -uroot password 'duan'exit
MySQL数据库远程连接、创建新用户、设置权限
1、新建用户
创建ssh用户,密码是ssh。localhost 就是本地连接,即127.0.0.1。
%用于远程连接,即任意ip都可以链接。
MySQL -u root -p
CREATE USER 'ssh'@'localhost' IDENTIFIED BY 'ssh'; #本地登录
CREATE USER 'ssh'@'%' IDENTIFIED BY 'ssh'; #远程登录
quit #先退出,在测试
mysql -ussh -p #测试是否创建成功
image.png
image.png
2、为用户授权
a.授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by '密码';
b.登录MYSQL,这里以ROOT身份登录:
mysql -u root -p
c.为用户创建一个数据库(test ):
create database test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
创建后用show databases;查看数据库:
image.png
d.授权ssh用户拥有test数据库的所有权限:
grant all privileges on `test`.* to 'ssh'@'localhost' identified by 'ssh';
grant all privileges on `test`.* to 'ssh'@'%' identified by 'ssh';
flush privileges; #刷新系统权限表
注意:MySQL中字符要求很严格,必须用英文小写字符!
image.png
3、删除用户
mysql -u root -p
Delete FROM mysql.user Where User=”test” and Host=”localhost”;
flush privileges;
drop database testDB;
image.png
删除账户及权限:
drop user 用户名@’%’;
drop user 用户名@ localhost;
注意:有可能出现的问题:
使用以下命令行删除账户:
delete from user where user='账户名';
出现:
ERROR 1046 (3D000): No database selected 错误:没有选中数据库。
因为是直接使用 SQL 语句的方式来删除账户,所以必须先选择 mysql 自身的数据库:
use mysql;
好了,现在用ssh账户登陆,开始建表!
create table test(
test_id INT NOT NULL AUTO_INCREMENT,
test_date DATE,
PRIMARY KEY ( test_id )
);
好了,建表之后可以查看表:
image.png
这个时候需要用命令查看数据库所用端口,这个很重要哦,远程连接数据库时候需要的!而且前面咱们授权ssh账户远程登录时,一定要有成功授权提示哦!
show variables like 'port';
image.png
image.png
接下来,就可以打开 navicat 进行连接测试了
参考文档:浩coding
mysql设置root密码
打开终端,登录centos服务器。
刚初始化完毕mysql,这个时候只要在命令行里面输入mysql,是可以直接登陆的(无需输入密码)。
image.png可以查看root用户下面的数据库
image.png为mysql设置初始化密码的命令为:mysql -uroot -p 'xxxxxx'
mysqladmin -u root password 'xxxxxx'
image.png
设置完毕密码之后,再次使用mysql命令登录数据库,登录请求就会被拒绝。必须使用修改后的密码登录
image.png
网友评论