1、ubuntu安装mysql教程
一.首先卸载掉原来的mysql
第一步,依次执行下面的语句
sudo apt-get autoremove --purge mysql-server
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common
第2步 清理残留数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
二.安装mysql
安装mysql教程
sudo aptitude search mysql
sudo apt install mysql-server
登录mysql
sudo mysql -u root -p
show databases;
use mysql;
show tables;
select host,user from user;
#添加登录账号,允许远程访问'%'
grant all privileges on *.* to 'admin'@'%' identified by 'pass12345' with grant option;
注意:如果报ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '. to 'admin'@'%'' at line 1
提示意思是不能用grant创建用户,mysql8.0以前的版本可以使用grant在授权的时候隐式的创建用户,8.0以后已经不支持,所以必须先创建用户,然后再授权,命令如下:
CREATE USER 'admin'@'%' IDENTIFIED BY 'pass12345';
grant all privileges on *.* to 'admin'@'%';
允许多个IP登录mysql8.0
# 第一个IP
CREATE user 'admin'@'121.43.128.209' IDENTIFIED by 'pass12345';
GRANT ALL on *.* TO 'admin'@'121.43.128.209';
flush privileges;
# 第二个IP
CREATE user 'admin'@'139.224.43.133' IDENTIFIED by 'pass12345';
GRANT ALL on *.* TO 'admin'@'139.224.43.133';
flush privileges;
# 有几个IP,就创建多少个用户
修改允许的ip
UPDATE `user` SET `Host`='172.0.0.1' WHERE `user`='admin' AND `Host`='175.9.142.131';
flush privileges;
如果要删除某个IP权限
delete from user where host ='172.0.0.2';
#刷新
flush privileges;
quit;
#重启
sudo service mysql restart;
#查看mysql版本
mysql -V
第三步 设置MySQL远程访问的权限
aptitude search mysql.conf.d
cd /etc/mysql/mysql.conf.d
ls
#查看目录下所有的文件内容,找到bind-address = 127.0.0.1注释掉
sudo vim mysqld.cnf
加前缀#注释掉bind-address = 127.0.0.1
重启mysql
sudo service mysql restart;
最后重新登录mysql
mysql -u root -p
另外:
修改密码
update mysql.user set password=password('新密码') where User="amdin" ;
mysql查看端口号
show variables like 'port';
删除登录用户
DROP USER IF EXISTS admin;
密码策略问题异常信息:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
解决办法:
1、查看 mysql 初始的密码策略,
输入语句 “ SHOW VARIABLES LIKE 'validate_password%'; ” 进行查看
2、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,
输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值
3、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,输入设值语句 “ set global validate_password_length=6; ” 进行设值
4、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可
输入修改语句 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; 可以看到修改成功,表示密码策略修改成功
注:在默认密码的长度最小值为 4 ,由 大/小写字母各一个 + 阿拉伯数字一个 + 特殊字符一个,
只要设置密码的长度小于 3 ,都将自动设值为 4
关于 mysql 密码策略相关参数;
1)、validate_password_length 固定密码的总长度;
2)、validate_password_dictionary_file 指定密码验证的文件路径;
3)、validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4)、validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数
解决mysql——workBench无法登录的问题
这里是Ubuntu 18.04的mysql安装教程,ubuntu低版本或其他非Debian的Linux发行版可能不适用。
安装mysql
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
这里我安装完了没有提示设置密码或其他配置项的步骤,所以有需要的话可以看下一步更改默认密码。
更改默认密码
查看默认配置文件
sudo cat /etc/mysql/debian.cnf
结果如下:
图有‘user=debian-sys-maint’,即为自动配置的默认用户;‘password=ol9uVJAxu9L1AzOa’,即为自动配置的密码。
以默认配置登陆mysql
mysql -u debian-sys-maint -p // 用户名以自己的配置文件为准
提示输入密码,这里要输入的就是上一步的‘password=ol9uVJAxu9L1AzOa’(密码以自己的配置文件为准)。
更改密码
use mysql;// 下一行,密码改为了yourpassword,可以设置成其他的
update mysql.user set authentication_string=password('yourpassword') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password";
flush privileges;
quit;
重启mysql
sudo service mysql restart
mysql -u root -p
输入新密码:yourpassword
OK
2、Ubuntu 安装 PhpMyAdmin 图文教程
buntu 安装 PhpMyAdmin 管理 MySQL 数据库
PhpMyAdmin 是一个用 PHP 编写的软件工具,可以通过 web方式控制和操作 MySQL 数据库。通过 phpMyAdmin 可以完全对数据库进行操作,例如建立、复制和删除数据等等,这样 MySQL数据库的管理就会变得相当简单
[提示]:终端中的粘贴为:Ctrl + Shift + v
一、使用 apt-ge 安装 phpmyadmin
1.打开终端,输入命令:
sudo apt-get install phpmyadmin
[注意]:上面命令可能会出现,无法获得锁的情况,如果有,使用下面命令:
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
再执行:
sudo apt-get install phpmyadmin
2.安装的时候由于网络问题,可能会出现
可以按照提示再试一次
3.然后回出现窗口提示选择服务器
我们选择 apache2 回车
4.让我们设定 phpMyAdmin 的密码
5.再次输入 phpMyAdmin 的密码确认
6.安装必要依赖包,因为 php7 没有默认自带 php-mbstring,php-gettext 这两个包
你也可以在上面安装的目录中找一下有没有这两个,如果没有就执行:
$ sudo apt-get install php-mbstring
$ sudo apt-get install php-gettext
安装时选择自动配置数据库,输入数据库 root 账号的密码
如果不安装以上两个 php 软件包,则会报错或者白屏,提示找不到 /usr/share/php/php-gettext/gettext.inc 之类的错误
7.建立/var/www/html 下的软连接
$ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
二、修改PHP配置文件
【注意】:php.ini 文件路径,不知道的可以在文件查看,截图:
找到 etc/php/7.2/apache2/php.ini
# 路径使用自己的路径
$ sudo gedit /etc/php/7.2/apache2/php.ini
# 1.Ctrl + F 搜索 display_errors,找到第二个
display_errors = On
# 2.添加一条:
;extension=php_mbstring.dll (开启mbstring)
三、重启apache
$ sudo /etc/init.d/apache2 restart
四、登录 phpMyAdmin
访问端口 localhost/phpmyadmin, 输入账号密码即可
3、Ubuntu下配置samba服务器
一. samba的安装:
sudo apt-get insall samba // (sudo get temp root auth)
sudo apt-get install smbfs //旧版本
sudo apt-get install cifs-utils //新版本
上面的命令将会安装Samba和其他相关的工具。在旧版的Ubuntu中,你可能需要使用 smbfs替代 cifs-utils。
sudo apt-get install samba-common
二. 创建共享目录:
1、系统用户home目录下:
mkdir /home/mbshare //如果配置的共享目录不存在则创建
chown -R nobody. /home/mm/share //设置共享目录归属为 nobody
sudo chmod 777 /home/mm/share //将共享目录属性设置为 777
说明:mm为你的ubuntu的用户名;share你可以随便起个名字做为共享文件夹
2、普通目录下:
如创建/mydir/private 和 /mydir/public 目录 ( 注意权限问题,不然导致不能访问)
mkdir -p /mydir/{private,public}
chown -R nobody.nogroup /mydir
chmod -R 777 /mydir
三. 创建Samba配置文件:
1.修改现配置文件
sudo gedit /etc/samba/smb.conf
在smb.conf最后添加
[share]
path = /home/mb/share
available = yes
browseable = yes
public = yes
writable = yes
valid users = mm
create mask = 0700
directory mask =0700
force user =nobody
force group = nogroup
说明:valid users = myname 这个myname是自己起的,后面在添加用户名时就是添加的这个;
另外这个 [share] 名字也是可以随便起的,这个是你在windows下访问时显示的名字;
在windows下 \162.168.160.11share就可以访问linux下/home/god/ code目录下的内容了;
其中162.168.160.11是你linux的IP地址,用ifconfig就可以查看到。
四. 创建samba帐户 :
现在要添加 myname这个网络访问帐户。如果系统中当前没有这个帐户(也可以用系统中己存在的账户如root,god),那么代码:
sudo useradd myname
上面只是增加了 myname这个系统用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。这个你可以在重启机器时看到这个你添加的用户,但是你却用它登陆不了系统,因为没有赋予本机登录密码。
sudo touch /etc/samba/smbpasswd
sudo smbpasswd -a myname
(如果你直接用系统中的账号,这里myname就是你系统中的账户即可)然后会要求你输入samba帐户的密码,这个密码不是开机登录时候用的,是你要访问WIN共享文件或者WIN共享文件访问你的时候要填的密码。
删除网络使用者的帐号的命令把上面的-a 改成 -x 即: sudo smbpasswd -x myname
smbpasswd 命令的用法
smbpasswd -a 增加用户(要增加的用户必须以是系统用户)
smbpasswd -d 冻结用户,就是这个用户不能在登录了
smbpasswd -e 恢复用户,解冻用户,让冻结的用户可以在使用
smbpasswd -n 把用户的密码设置成空.
要在global中写入 null passwords -true
smbpasswd -x 删除用户
五. 用户账号映射 :
samba的用户帐号信息是保存在smbpasswd文件中滴,而且可以访问samba服务器的帐号也必须对应一个同名的系统帐号。基于这 一点,所以,对于一些hacker来说,只要知道samba服务器滴samba帐号,就等于是知道了Linux系统帐号,只要crack其samba帐号密码加以利用就可以攻击samba服务器。所以我们要使用用户帐号映射这个功能来解决这个问题。
用户帐号映射这个功能需要建立一个帐号映射关系表,里面记录了samba帐号和虚拟帐号的对应关系,客户端访问samba服务器时就使用虚拟来登录。
1)编辑主配置文件vi /etc/samba/smb.conf
在global下添加一行字段username map = /etc/samba/smbusers开启用户帐号映射功能。
2)编辑 vi /etc/samba/smbusers
smbusers文件保存帐号映射关系,其有固定滴格式:
samba帐号 = 虚拟帐号(映射帐号)
myname = networkusername
帐号myname就是我们上面建立的samba帐号(同时也是Linux系统帐号),networkusername就是映射的帐号名(虚拟帐号),帐号 myname在我们访问共享目录时只要输入networkusername就可以成功访问了,但是实际上访问samba服务器的还是我们的myname帐号,这样一来就解决了安全问题。
3)重启samba服务:service smbd restart
4)验证效果
输入我们定义的映射帐号networkusername,注意我们没有输入帐号myname,映射帐号networkusername的密码和myname帐号一样,现在就可以通过映射帐号浏览共享目录了。
六. 重启samba服务器 :
sudo testparm 验证一下配置参数有没有问题,如果有问题在回去修改
sudo /etc/init.d/samba restart (不知为什么,我的这个目录下就是没有这个,用这个命令总是报错)
service samba restart
service smbd restart
七. 测试:
smbclient -L //localhost/share 或者
smbclient -L \127.0.0.1 -U myname //这时输入的密码就是你刚才设置的samba密码
八. 使用 :
可以到windows下输入ip使用了,在文件夹处输入 "\" + "Ubuntu机器的ip或主机名" + "\" + "share";
我的即为:\162.168.160.11share(share就是刚才smb.conf中的[share])第一次进入时要输入用户名和密码,这个就是你在第四步中设置的用户名和密码。
九. samba的卸载:
dpkg -l |grep samba
dpkg -l |grep smbfs
dpkg -l |grep smb
apt-get remove sambasmbfssmb