As of MySQL 8.0, caching_sha2_password is now the default authentication plugin rather than mysql_native_password which was the default in previous versions. This means that clients (Sequel Pro, HeidiSQL etc) that rely on the mysql_native_password won't be able to connect because of this change.
man, am scris bind localhost si sunt pe windows nu trb .so din cate stiu ca daca am bag .so imi da erori, dar pluginu mysql da failed si daia cred ca e... de unde iau pluginu ala mysql nou, da-mi discordu tau daca e si ma ajuti
caching_sha2_password: Implements SHA-256 authentication (like sha256_password), but uses caching on the server side for better performance and has additional features for wider applicability. (In MySQL 5.7, caching_sha2_password is implemented only on the client side, as described later in this section.)
In MySQL 5.7, the default authentication plugin is mysql_native_password. As of MySQL 8.0, the default authentication plugin is changed to caching_sha2_password. To enable MySQL 5.7 clients to connect to 8.0 and higher servers using accounts that authenticate with caching_sha2_password, the MySQL 5.7 client library and client programs support the caching_sha2_password client-side authentication plugin. This improves MySQL 5.7 client connect-capability compatibility with respect to MySQL 8.0 and higher servers, despite the differences in default authentication plugin.
In addition, there is no support for MySQL 5.7 replicas to connect to MySQL 8.0 replication source servers using accounts that authenticate with caching_sha2_password. That would involve a source replicating to a replica with a version number lower than the source version, whereas sources normally replicate to replicas having a version equal to or higher than the source version.
On the server side, an in-memory cache enables faster reauthentication of users who have connected previously when they connect again. (This server-side behavior is implemented only in MySQL 8.0 and higher.)
In MySQL 5.7, the caching_sha2_password plugin exists in client form. The client-side plugin is built into the libmysqlclient client library and is available to any program linked against libmysqlclient.
In MySQL 5.7, the caching_sha2_password client-side plugin enables connecting to MySQL 8.0 or higher servers using accounts that authenticate with the caching_sha2_password server-side plugin. The discussion here assumes that an account named 'sha2user'@'localhost' exists on the MySQL 8.0 or higher server. For example, the following statement creates such an account, where password is the desired account password:
caching_sha2_password supports connections over secure transport. caching_sha2_password also supports encrypted password exchange using RSA over unencrypted connections if these conditions are satisfied:
The MySQL 5.7 client library and client programs are compiled using OpenSSL, not yaSSL. caching_sha2_password works with distributions compiled using either package, but RSA support requires OpenSSL.
On the server side, two system variables name the RSA private and public key-pair files: caching_sha2_password_private_key_path and caching_sha2_password_public_key_path. The database administrator must set these variables at server startup if the key files to use have names that differ from the system variable default values.
For connections by accounts that authenticate with caching_sha2_password and RSA key pair-based password exchange, the server does not send the RSA public key to clients by default. Clients can use a client-side copy of the required public key, or request the public key from the server.
Use of a trusted local copy of the public key enables the client to avoid a round trip in the client/server protocol, and is more secure than requesting the public key from the server. On the other hand, requesting the public key from the server is more convenient (it requires no management of a client-side file) and may be acceptable in secure network environments.
For programs that use the C API, call mysql_options() to specify the RSA public key file by passing the MYSQL_SERVER_PUBLIC_KEY option and the name of the file, or request the public key from the server by passing the MYSQL_OPT_GET_SERVER_PUBLIC_KEY option.
For clients that use the caching_sha2_password plugin, passwords are never exposed as cleartext when connecting to the MySQL 8.0 or higher server. How password transmission occurs depends on whether a secure connection or RSA encryption is used:
If the connection is secure, an RSA key pair is unnecessary and is not used. This applies to TCP connections encrypted using TLS, as well as Unix socket-file and shared-memory connections. The password is sent as cleartext but cannot be snooped because the connection is secure.
If the connection is not secure, an RSA key pair is used. This applies to TCP connections not encrypted using TLS and named-pipe connections. RSA is used only for password exchange between client and server, to prevent password snooping. When the server receives the encrypted password, it decrypts it. A scramble is used in the encryption to prevent repeat attacks.
If the private and public key files are located in the data directory and are named private_key.pem and public_key.pem (the default values of the caching_sha2_password_private_key_path and caching_sha2_password_public_key_path system variables), the server uses them automatically at startup.
Otherwise, to name the key files explicitly, set the system variables to the key file names in the server option file. If the files are located in the server data directory, you need not specify their full path names:
After the server has been configured with the RSA key files, accounts that authenticate with the caching_sha2_password plugin have the option of using those key files to connect to the server. As mentioned previously, such accounts can use either a secure connection (in which case RSA is not used) or an unencrypted connection that performs password exchange using RSA. Suppose that an unencrypted connection is used. For example:
For this connection attempt by sha2user, the server determines that caching_sha2_password is the appropriate authentication plugin and invokes it (because that was the plugin specified at CREATE USER time). The plugin finds that the connection is not encrypted and thus requires the password to be transmitted using RSA encryption. However, the server does not send the public key to the client, and the client provided no public key, so it cannot encrypt the password and the connection fails:
In this case, the server sends the RSA public key to the client, which uses it to encrypt the password and returns the result to the server. The plugin uses the RSA private key on the server side to decrypt the password and accepts or rejects the connection based on whether the password is correct.
In this case, the client uses the public key to encrypt the password and returns the result to the server. The plugin uses the RSA private key on the server side to decrypt the password and accepts or rejects the connection based on whether the password is correct.
The public key value in the file named by the --server-public-key-path option should be the same as the key value in the server-side file named by the caching_sha2_password_public_key_path system variable. If the key file contains a valid public key value but the value is incorrect, an access-denied error occurs. If the key file does not contain a valid public key, the client program cannot use it.
On the server side, the caching_sha2_password plugin uses an in-memory cache for faster authentication of clients who have connected previously. For MySQL 5.7, which supports only the caching_sha2_password client-side plugin, this server-side caching thus takes place on the MySQL 8.0 or higher server to which you connect using MySQL 5.7 clients. For information about cache operation, see Cache Operation for SHA-2 Pluggable Authentication, in the MySQL 8.0 Reference Manual.
In a nutshell, Git (not to be confused with GitHub) is a version control systemthat allows you to track changes in your code. It makes it very easy to go backto an earlier, working version of your code in case you screw up (and you'regoing to screw up at some point, trust me). Git is also a requirement for sampctl,but more on that later.
Assuming you are using Windows, download the Git Setupfrom the official website, and open it. You don't have to worry about changingany options in here; the defaults are okay. Simply keep clicking next until theinstallation is complete.
Visual Studio Code, or VSCode for short, is a powerful text editor favored by alot of people in the SA-MP scripting community. It provides easy integration withcommunity created tools such as sampctl or the improved community compiler.
In Visual Studio Code, click the Extensions icon in the tools ribbon. Normallyit is the fourth icon from the top. Search for "pawn tools" and install theextension created by Southclaws by clicking on it and choosing Install. You mayneed to reload VSCode for the change to take effect.
sampctl ("SA-MP Control", if you will) is the self-proclaimed Swiss army knifeof SA-MP and it is indeed an invaluable tool for speeding up development. It canautomatically install libraries ("includes") for you, eliminating the need to huntdown every other thing that it depends on. Sampctl also provides the communitycompiler, which is an improved version of the default compiler that comes withthe server package. It compiles your mode much faster and it fixes some issues inthe process.
Open a PowerShell window on your computer. Depending on your version of Windows itmay simply be called PowerShell or it may be called Windows Terminal. It doesn'tmatter which one you use, as long as it says "PowerShell" in the console windowthat opens.
c80f0f1006