本篇是我自己在阿里云U16.04.2 部署java环境是遇到的问题及解决方法,中间搜索几篇文章,没来得及记下,若引用了您的文章可留言。
1.安装:
1.使用root账号登录,首先依次执行以下命令:
sudo apt -get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev
如果上述命令执行中有问题就执行以下命令
apt -get update
2.以上三个软件安装后执行以下命令验证是否安装成功:
sudo netstat -tap | grep mysql
若出现:
tcp 0 0 localhost:mysql *:* LISTEN
3135/mysqld
则证明安装成功。
2.设置mysql远程访问:
1.编辑mysql配置文件mysqld.cnf,把bind-address = 127.0.01
vi /etc/mysql/mysql.conf.d/mysqld.cnf
2.使用root进入mysql命令中,执行以下两个命令,示例中mysql的账号密码都为root
root@ubuntu:~# mysql -uroot -proot
mysql>grant all on *.* to root@'%' identified by 'root' with grand option;
*.*:第一个*代表数据库名;第二个*代表表名。这里的意思是所有数据库里的所有表都授权给用户。
root:授予root账号。“%”:表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。
“password”:分配账号对应的密码,这里密码自己替换成你的 mysql root帐号 密码。
mysql>flush privileges;
刷新权限信息,也即是让我们所作的设置马上生效。
3.重启mysql
/etc/init.d/mysql restart
3.登录与root用户初始化密码:
1.登录mysql,执行以下命令
mysql -h localhost -uroot -p你的密码
若你没输入密码,则会提示你输入密码,h代表主机,这里我用了localhost本地。
2.安全模式登录mysql
$ sudo /etc/init.d/mysql stop
[sudo] wl 的密码:
[ ok ] Stopping mysql (via systemctl): mysql.service.
$ sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &
输入 第一行终止mysql运行,成功后提示下面两行;然后输入第四行,成功,没有任何报错则可以另外打开一个终端窗口,
进行下一步操作;但是一般会报错,比如提示mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists
因此可以尝试输入以下代码:
$ sudo mkdir -p /var/run/mysqld
$ sudo chown mysql:mysql /var/run/mysqld
最后再次输入:
sudo /usr/bin/mysqld_safe--skip-grant-tables --skip-networking &
到了这里不在提示错误,可以打开另一个终端端口了,尝试无密码登入MySQL。
mysql -u root
到这里应该可以进入MySQL了,继续操作
> use mysql;
> update user set authentication_string=PASSWORD("这里输入你要改的密码") where User='root'; #更改密码
> update user set plugin="mysql_native_password"; #如果没这一行可能也会报一个错误,因此需要运行这一行
> flush privileges; #更新所有操作权限
> quit;
3.经过上面一系列的操作,应该可以正常使用更改后的密码登录了
> sudo /etc/init.d/mysql stop
> sudo /etc/init.d/mysql start # reset mysql
> mysql -u root -p
4.创建新用户
首先以root用户登录数据库;
mysql -u root -p
输入密码
启用数据库:
use mysql;
查看用户表:
select Host,User from mysql.user;创建用户
create user test identified by '123456';创建完成了,在程序里面连接发现还是没有权限,刚才我们只是创建了用户,还没有对这个用户分配权限;
grant all privileges on *.* to 'test'@'%'identified by '123456' with grant option;然后刷新mysql用户权限相关表;
flush privileges ;
4.Linux启动/停止/重启Mysql数据库的方法
1、查看mysql版本
方法一:status;
方法二:select version();
2、Mysql启动、停止、重启常用命令
a、启动方式
1、使用 service 启动:
[root@localhost /]# service mysqld start (5.0版本是mysqld)
[root@szxdb etc]# service mysql start (5.5.7版本是mysql)
2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld start
3、使用 safe_mysqld 启动:
safe_mysqld&
b、停止
1、使用 service 启动:
service mysqld stop
2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld stop
3、mysqladmin shutdown
c、重启
1、使用 service 启动:
service mysqld restart
service mysql restart (5.5.7版本命令)
2、使用 mysqld 脚本启动:
/etc/init.d/mysqld restart
5.mysql卸载:
- sudo apt purge mysql-*
- sudo rm -rf /etc/mysql/ /var/lib/mysql
- sudo apt autoremove
- sudo apt autoreclean