Mysql

# pkg install amp

# pkg info amp

Name: group/feature/amp

Summary: AMP (Apache, MySQL, PHP) Deployment Kit for Oracle Solaris

Description: Provides a set of components for deployment of an AMP

(Apache, MySQL, PHP) stack on Oracle Solaris

Category: Meta Packages/Group Packages (org.opensolaris.category.2008)

Web Services/Application and Web Servers

(org.opensolaris.category.2008)

State: Installed

Publisher: solaris

Version: 11.4

Branch: 11.4.0.0.1.14.0

# mysql --version

mysql Ver 14.14 Distrib 5.6.40, for solaris11 (x86_64) using EditLine wrapper

# php --version

PHP 5.6.36 (cli) (built: Aug 10 2018 06:06:18)

Package Information : list search info contents

Package Transitions : update install uninstall

svcadm enable mysql

svcadm disable mysql

svcadm restart mysql

svcadm refresh mysql

root@solaris:~# svcadm enable mysql

root@solaris:~# svcs | grep mysql

online 17:06:50 svc:/application/database/mysql:version_56

root@solaris:~#

pkg установит по умолчанию в /opt

/opt# /etc/init.d/mysql

Usage: mysql {start|stop|restart|reload|force-reload|status} [ MySQL server options ]

/opt# /etc/init.d/mysql start[16:23]/opt# /etc/init.d/mysql

Usage: mysql {start|stop|restart|reload|force-reload|status} [ MySQL server options ]

/opt# /etc/init.d/mysql start

Расположение файлов после установки AMP такое:

/etc/mysql/5.6/my.cnf

# cat /etc/mysql/5.6/my.cnf

[mysqld]

.................................

# These are commonly set, remove the # and set as required.

# basedir = /usr/mysql/5.6

# datadir = /var/mysql/5.6/data

# port = 3306

# server_id = для репликаций

# socket = /tmp/mysql.sock

/usr/mysql/5.6 /bin (mysql, mysqladmin .....)

/var/mysql/5.6/data

Change owner and group for MySQL binaries.

# chown -R mysql:mysql /usr/mysql (если надо)

Change owner and group for <MySQL Database Directory> (если надо)

# chown -R mysql:mysql <MySQL Database Directory>

Change file permission for <MySQL Database Directory>/my.cnf

# chmod 644 <MySQL Database Directory>/my.cnf

Задать пароли для суперпользователя (если надо, можно через mysqladmin)

# mysqladmin -u root password 'your_password'

# mysqladmin -u root -h your_hostname password 'your_password'

Проверить порты и сокеты:

# netstat -an | grep 3306

192.168.1.223.3306 *.* 0 0 256000 0 LISTEN

# netstat -an | grep mysql

ffffa100197e4998 stream-ord ffffa1000919ae80 0000000000000000 /tmp/mysql.sock

MySQL monitor

(connect to local MySQL server through socket '/tmp/mysql.sock' )

Зайти в MySQL monitor: (системный root, это не root MySql root MySql устанавливается со сменой пароля при установке)

# mysql -u root -p

подключится к MySQL (выбрать базу):

> use mysql

сколько там пользователей:

> SELECT Host,User,Password FROM user;

Можно разрешить руту подключаться с любого компьютера, выполнив запрос:

> UPDATE user SET Host='%' WHERE User='root' AND Host='localhost';

применить изменения:

> FLUSH PRIVILEGES;

Что бы сменить пароль можно выполнить запрос;

> UPDATE user SET Password=PASSWORD('новый пароль') WHERE User='root' AND Host='%';

> exit

Bye

Полезно пользоваться > SELECT Host,User,Password FROM user;

mysql> SELECT Host,User,Password FROM user;

+-----------+------+-------------------------------------------+

| Host | User | Password

+-----------+------+-------------------------------------------+

| localhost | root | *17CCC4038CF20464A8CE66429F3DA1443050EA18

| solaris | root | *17CCC4038CF20464A8CE66429F3DA1443050EA18

| 127.0.0.1 | root |

| ::1 | root |

| localhost | |

| solaris | |

+-----------+------+-------------------------------------------+

6 rows in set (0.00 sec)

Чтобы знать кому и с каких хостов можно использовать mysql:

Пример подключения с помощью mysql (пароль будет запрошен при подключении):

# mysql -P 3306 -h 127.0.0.1 -u mylogin_user -p mylogin_db

# mysql -h solaris -u root -p

mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; создать пользователя

если ошибка то сначала:

mysql> DROP USER 'username'@'localhost'; удалить пользавателя

https://devacademy.ru/ https://andreyex.ru https://andreyex.ru https://overcoder.net

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

Удалить строки из таблицы "user", соответствующие имени пользователя "myuser"

mysql> DELETE FROM user WHERE user = 'myuser';

Удалить строки, соответствующие хосту "10.0.1.25"

mysql> DELETE FROM user WHERE host = '10.0.1.25';

По умолчанию отключен удаленный доступ root . Если вы хотите включить это, выполните эту команду SQL локально: https://coderoad.ru

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; FLUSH PRIVILEGES;

https://blog.programs74.ru/how-to-resolve-mysql-error-1819/ <---------- ошибка ERROR 1819 (HY000):

mysql> show grants for 'root'@'localhost';

mysql> SELECT Host,User,Password FROM user;

+-----------+------+-------------------------------------------+

| Host | User | Password

+-----------+------+-------------------------------------------+

| % | root | *17CCC4038CF20464A8CE66429F3DA1443050EA18

| localhost | root | *17CCC4038CF20464A8CE66429F3DA1443050EA18

+-----------+------+-------------------------------------------+

2 rows in set (0.00 sec)

По скольку пользователя "root" в Solaris нет, а есть псевдо пользователь root (то есть "роль") и удаленно под root не зайти, то для удаленного использования баз надо создать другого (реального) пользователя с полномочиями: GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;

для всех баз. В любом случае создать пользователя баз надо.

# mysql -h solaris -u root -p

Enter password:

ERROR 1045 (28000): Access denied for user 'root'@'solaris' (using password: YES)

mysql> SELECT Host,User,Password FROM user;

+-----------+------+-------------------------------------------+

| Host | User | Password

+-----------+------+-------------------------------------------+

| localhost | root | *17CCC4038CF20464A8CE66429F3DA1443050EA18

| solaris | root |

| 127.0.0.1 | root |

| ::1 | root |

| localhost | |

| solaris | |

| % | user | *17CCC4038CF20464A8CE66429F3DA1443050EA18

+-----------+------+-------------------------------------------+

7 rows in set (0.00 sec)

mysql> CREATE DATABASE WP;

mysql> SHOW DATABASES;

+--------------------+

| Database

+--------------------+

| information_schema

| NxC

| OwC

| WP

| mysql

| performance_schema

| test

| wordpres

+--------------------+

8 rows in set (0.00 sec)

mysql>

PS: И к сожалению все это(выше) не очень внятно, вот здесь лучше: https://sites.google.com/site/-MySQL

Сменить "забытый" пароль

    1. Остановить mysql: # svcadm disable mysql

    1. Запустить mysql с отключенными таблицами безопасности: для этого либо выполняется команда: # mysqld_safe –skip-grant-tables , а в Solaris (mysql Ver 14.14 Distrib 5.6.40, for solaris11) такой нет, по этому прописать строчку; skip-grant-tables в /etc/mysql/5.6/my.cnf чем будет достигнут тот же результат, после чего запустить mysql:

# svcadm enable mysql.

После отмены запроса пароля, появится возможность зайти в MySQL как root пользователь без пароля.

# mysql -uroot -p (не смотря на опцию -p)

mysql> UPDATE user SET Password=PASSWORD (‘solaris21’) WHERE User=’root’;

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

Далее в обратном порядке, остановит сервер, закомментировать; skip-grant-tables в /etc/mysql/my.cnf

# svcadm disable mysql

# svcadm enable mysql

# svcs | grep mysql

online 13:18:45 svc:/application/database/mysql:version_56

# svcadm restart mysql

root@zone1:~#

Access denied for user 'root@localhost' (using password:NO) < ---- это шедевр!

For this kind of error; you just have to set new password to the root user as an admin. follow the steps as follows:

[root ~]# mysql -u root

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)

  • Stop the service/daemon of mysql running

[root ~]# service mysql stop

mysql stop/waiting

  • Start mysql without any privileges using the following option; This option is used to boot up and do not use the privilege system of MySQL.

[root ~]# mysqld_safe --skip-grant-tables &

  • At this moment, the terminal will seem to halt. Let that be, and use new terminal for next steps.

    • enter the mysql command prompt

[root ~]# mysql -u root

mysql>

    • Fix the permission setting of the root user ;

mysql> use mysql;

Database changed

mysql> select * from user;

Empty set (0.00 sec)

mysql> truncate table user;

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

mysql> grant all privileges on *.* to root@localhost identified by 'YourNewPassword' with grant option;

Query OK, 0 rows affected (0.01 sec)

    • *if you don`t want any password or rather an empty password

mysql> grant all privileges on *.* to root@localhost identified by '' with grant option;

Query OK, 0 rows affected (0.01 sec)*

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

    • Confirm the results:

mysql> select host, user from user;

+-----------+------+

| host | user |

+-----------+------+

| localhost | root |

+-----------+------+

1 row in set (0.00 sec)

    • Exit the shell and restart mysql in normal mode.

mysql> quit;

[root ~]# kill -KILL [PID of mysqld_safe]

[root ~]# kill -KILL [PID of mysqld]

[root ~]# service mysql start

    • Now you can successfully login as root user with the password you set

[root ~]# mysql -u root -pYourNewPassword

mysql>

mysqladmin

http://www.mysql.ru/docs/man/mysqladmin.html

mysqladmin -u root -p version

mysqladmin ping доступен ли сервер

mysqladmin processlist список активных потоков сервера

mysqladmin -bind-address=ip_address соединиться с MySQL Server