安装mysql
下载:https://dev.mysql.com/downloads/mysql/
Linux-Generic-选择版本
上传到服务器并解压
tar -zxvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
更改解压后文件夹
mv mysql-5.6.39-linux-glibc2.12-x86_64 mysql-5.6.39
添加mysql用户组和用户
groupadd mysql
useradd -r -g mysql mysql
进入mysql解压目录
cd /usr/local/mysql-5.6.39
修改当前目录拥有者为mysql用户
chown -R mysql:mysql ./
安装数据库
./scripts/mysql_install_db --user=mysql
修改当前目录拥有者为root用户
chown -R root:root ./
修改当前data目录拥有者为mysql用户
chown -R mysql:mysql data
安装完毕
启动mysql服务
service mysql start
可能出现:
/etc/init.d/mysql: line 244: my_print_defaults: command not found
/etc/init.d/mysql: line 264: cd: /usr/local/mysql: No such file or directory
Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)
添加/etc/my.cnf文件:
vim /etc/my.cnf
添加以下内容:
[mysqld]
basedir = /usr/local/mysql-5.6.39
datadir = /usr/local/mysql-5.6.39/data/
启动mysql服务,然后查看进程即可
service mysql start
ps -ef|grep mysql
开机启动
将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql-5.6.39/support-files/mysql.server /etc/init.d/mysqld
赋予可执行权限
chmod +x /etc/init.d/mysqld
添加服务
chkconfig --add mysqld
显示服务列表
chkconfig --list mysqld
将会显示:
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入
chkconfig --level 345 mysql on
重启,grep校验
root密码
修改mysql的root用户密码
cd /usr/local/mysql-5.6.39
./bin/mysqladmin -u root password '密码'
提示别管:Warning: Using a password on the command line interface can be insecure.
登录,就可以执行命令了
cd /usr/local/mysql-5.6.39
./bin/mysql -hlocalhost -uroot -p密码
默认路径
ln -s /usr/local/mysql-5.6.39/bin/mysql /usr/bin/
这样就可以直接使用mysql命令了:mysql -hlocalhost -uroot -p密码
其他命令
如果一台机器上游两个mysql,如何登录不同的端口
mysql -hlocalhost -u用户名 -p -P端口
创建数据库
CREATE DATABASE 数据库名称 CHARACTER SET 'UTF8';
创建用户
CREATE USER 姓名 IDENTIFIED BY '密码';
授权
GRANT ALL PRIVILEGES ON 数据库名称.* TO '姓名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON 数据库名称.* TO '姓名'@'localhost' IDENTIFIED BY '密码' WITH GRANT OPTION;
立即生效
FLUSH PRIVILEGES;
中文乱码
数据库安装ok后,创建了表,输入了中文备注,查看却发现成了???? 修改mysql配置文件/etc/my.cnf
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
重启mysql:service mysql restart
导出数据库
mysqldump -u root -p db名字 | gzip > /usr/local/mysqlexport/2018.sql.gz
导入数据库
gunzip < /usr/local/mysqlexport/2018.sql.gz | mysql -u root -p db名字